回答

收藏

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

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

我有一个查询,看起来像:
  a) f1 Z- }, ]select count(*) from m1WHERE  (m1.`resource` & 1472 );虽然我对资源有索引,但它不使用它。如何优化按位计算。! n3 L" A9 D6 y+ b/ l
                                                               
- v/ R! q: `3 T* u9 O. F3 f    解决方案:                                                                ! b, y0 q& j. h  n) R8 {& K! W) C
                                                                我不认为MySQL索引可用于按位操作。0 W4 G' s0 |: F( b
MySQLPerformance论坛对此进行了一些讨论:http :6 t6 W7 `! K* L' `' m
//forums.mysql.com/read.php?24、35318(索引扫描可以按位比较吗?MySQL员工根据每对(事物,设置位置)对一行和一堆连接表。我想它的工作效果在很大程度上取决于你的特定应用程序。% \9 a& ?  {* y/ L) z# |
根据http://dev.mysql.com/tech-resources/articles/mysql-set-7 Z2 M" K: E: r/ [7 u; |" a+ A
datatype.html的索引,对SET执行相同类型的值操作(通过整数和按位操作实现)是无用的。我曾经想过,如果对位操作进行了任何巧妙的索引优化,它已经应用于SETs了。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则