-- 创建示例表:索引表和数据表
CREATE TABLE `user_index` (
`id` INT NOT NULL,
`name_index` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`),
INDEX `idx_name` (`name_index`)
);
CREATE TABLE `user_data` (
`id` INT NOT NULL,
`name` VARCHAR(45) NOT NULL,
`age` INT NOT NULL,
`address` VARCHAR(100),
PRIMARY KEY (`id`)
);
-- 插入一些示例数据
INSERT INTO `user_index` (`id`, `name_index`) VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');
INSERT INTO `user_data` (`id`, `name`, `age`, `address`) VALUES (1, 'Alice', 30, 'New York'), (2, 'Bob', 25, 'Los Angeles'), (3, 'Charlie', 35, 'Chicago');
-- 回表查询示例
EXPLAIN SELECT ud.name, ud.age, ud.address
FROM user_index ui
JOIN user_data ud ON ui.id = ud.id
WHERE ui.name_index = 'Alice';
-- 解释:
-- 在这个例子中,首先通过索引表 `user_index` 中的 `name_index` 索引快速定位到符合条件的记录(即 `name_index = 'Alice'`)。
-- 然后,通过主键 `id` 进行回表操作,在 `user_data` 表中获取完整的用户信息(如 `name`, `age`, `address`)。
-- 这种查询方式称为“回表”,因为它需要先在索引表中查找,再回到数据表中获取完整数据。
上一篇:mysql 插入数据
下一篇:mysql 分割字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站