Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql json 索引

作者:戮尽逆者   发布日期:2026-05-20   浏览:46

-- 创建一个包含 JSON 列的表
CREATE TABLE products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    info JSON
);

-- 为 JSON 列中的特定字段创建索引
-- 假设我们想为 info 中的 "price" 字段创建索引
CREATE INDEX idx_price ON products ((CAST(info->>'$.price' AS DECIMAL(10,2))));

-- 插入一些示例数据
INSERT INTO products (info) VALUES 
('{"name": "Product A", "price": 10.50}'),
('{"name": "Product B", "price": 20.75}'),
('{"name": "Product C", "price": 5.25}');

-- 使用索引进行查询
SELECT * FROM products WHERE CAST(info->>'$.price' AS DECIMAL(10,2)) > 10;

解释说明:

  1. 创建表:首先创建一个包含 JSON 列 info 的表 products
  2. 创建索引:为 JSON 列中的特定字段(例如 price)创建索引。这里使用了 CAST->> 操作符来提取并转换 JSON 字段的值,以便可以对其进行索引。
  3. 插入数据:插入一些包含 JSON 数据的记录。
  4. 查询数据:通过索引加速查询,查找价格大于 10 的产品。

上一篇:mysql source 执行

下一篇:mysql date转字符串

大家都在看

mysql二级索引

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站