我想为此查询创建INDEX。是否为此查询创建了正确的索引。哪个需要快速响应

时间:2017-05-29 12:09:57

标签: mysql sql

实施例: -

  

选择ID,姓名,工资,位置       来自user_employee       其中名称如“K%'和工资> = 10000       按ID分组       按工资排序DESC       限制10

2 个答案:

答案 0 :(得分:0)

我更喜欢创建单独的索引:

CREATE INDEX `name` ON `user_employee` (`name`);
CREATE INDEX `salary` ON `user_employee` (`salary`);
CREATE INDEX `location` ON `user_employee` (`location`);

答案 1 :(得分:0)

您需要namesalary上的综合索引以及位置上的第二个索引。您可以像这样添加它们:

CREATE INDEX `name_salary` ON `user_employee` (`name`, `salary`);
CREATE INDEX `location` ON `user_employee` (`location`);

你需要一个复合索引的原因是MySQL能够为你的整个where子句使用一个索引,并且比你点击两个单独的索引时会加快一点。