回答

收藏

优化mysql查询以在Bitwise where索引用于子句上

技术问答 技术问答 411 人阅读 | 0 人回复 | 2023-09-14

我有一个查询,看起来像:
% k+ X! O& M: d3 L! @7 W- ]select count(*) from m1WHERE  (m1.`resource` & 1472 );虽然我对资源有索引,但它不使用它。如何优化按位计算。
1 c& N) t7 _. X                                                               
/ W+ a+ l1 u9 ^( ?    解决方案:                                                                * a5 o, D( W# Q, d
                                                                我不认为MySQL索引可用于按位操作。- \3 y6 T) J2 Q0 H8 ?
MySQLPerformance论坛对此进行了一些讨论:http :
" f1 _$ `& R! B9 s! U//forums.mysql.com/read.php?24、35318(索引扫描可以按位比较吗?MySQL员工根据每对(事物,设置位置)对一行和一堆连接表。我想它的工作效果在很大程度上取决于你的特定应用程序。
- `7 [! Q% V6 a3 b7 C8 P根据http://dev.mysql.com/tech-resources/articles/mysql-set-5 ^7 b& E: i( \& D0 j0 }2 p
datatype.html的索引,对SET执行相同类型的值操作(通过整数和按位操作实现)是无用的。我曾经想过,如果对位操作进行了任何巧妙的索引优化,它已经应用于SETs了。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则