UPDATE album SET x=1 WHERE store_id=:store_id && type=:type && time<:time
我有一个Mysql更新查询,我的问题是我如何设置此查询的索引
我在phpMyadmin中创建索引,我应该选择store_id,类型,时间并创建一个索引吗?
答案 0 :(得分:1)
如果您按store_id搜索并输入类型和时间,则可以为这三个创建INDEX。
,但
如果有时你只是通过store_id搜索,那么你应该只在store_id
中使用索引如果按store_id搜索并输入,那么index将在这两列上。
所以它取决于你用来搜索的列。
这里有如何用来创建你想要的索引。
ALTER TABLE `album` ADD INDEX `myindex` (`store_id`) --for store_id
ALTER TABLE `album` ADD INDEX `myindex` (`store_id` ,`type`,`time`) --for store_id and type and time
and so on ....
选择你想要的那个。
答案 1 :(得分:0)
设置索引时,要开始的地方是where
子句:
WHERE store_id=:store_id && type=:type && time<:time
从等式比较开始。然后,您可以选择一列不等式。对于此查询,最佳索引将包含所有三列:
create index album_storeid_type_time on album(store_id, type, time);