我正在努力让网页加载速度非常快。为了帮助我,我想严格根据布尔列查询表。
在我的例子中,此表中相对较少的行将此布尔列设置为true,其余行将为false。
数据库通常可以创建一个漂亮的小搜索树,也就是说,如果你想要假,那么向左移动,如果你想要的话,向右移动,到达各自主键的列表?
答案 0 :(得分:3)
当然你可以在上面写一个索引。
然后你可以运行这样的查询:
SELECT *
FROM mytable
WHERE mybool = 1
AND [another condition here]
添加的索引将确保第二个条件仅在mybool设置为1的记录上运行,这在理论上会使您的查询更快(假设mybool = 1
上的基数高且行数很多)。
请注意,正确使用索引可以提高读取速度,但由于索引在插入过程中需要更新,因此可能会降低写入速度。
编辑:根据要求,添加索引:
ALTER TABLE mytable ADD INDEX (mybool)