-
Notifications
You must be signed in to change notification settings - Fork 55
slave_rows_search_algorithms
xiaoboluo768 edited this page Jun 14, 2020
·
2 revisions
- 在基于行的主备复制中,此选项控制如何搜索匹配行,即,使用主键或唯一键,某个其他key或无key的搜索是否可以使用散列算法匹配行
- 在列表中指定算法的顺序与SELECT或SHOW VARIABLES语句实际使用中用到的算法的顺序无关。默认值是TABLE_SCAN,INDEX_SCAN,这意味着可以使用索引的所有搜索就用索引,而没有任何索引的搜索使用表扫描。
- 指定INDEX_SCAN,TABLE_SCAN,HASH_SCAN与指定INDEX_SCAN,HASH_SCAN具有相同的效果。表示对无法使用主键或唯一键的搜索使用散列,如果要对所有无法使用索引搜索的强制使用散列扫描,请将其设置为TABLE_SCAN,HASH_SCAN
- 注意:如果行事件足够大,则INDEX_SCAN,HASH_SCAN组合值可以提高复制性能。行事件的大小使用可以--binlog-row-event-max-size进行配置。例如,假设删除25,000行的DELETE语句生成大的Delete_row_event事件。在这种情况下,如果将slave_rows_search_algorithms设置为INDEX_SCAN,HASH_SCAN组合,则可以提升性能。但是,如果有25,000个DELETE语句,并且每个语句是单独的事件,则将slave_rows_search_algorithms设置为INDEX_SCAN,HASH_SCAN组合并不会有性能提升
- 全局变量,动态变量,集合类型,默认值为TABLE_SCAN,INDEX_SCAN。中文参考链接:https://yq.aliyun.com/articles/41058
- 此选项以列表INDEX_SCAN,TABLE_SCAN,HASH_SCAN的任意2个(或可能3个)值的逗号分隔列表组成。可能的组合(列表)及其影响如下表所示
Command-Line Format | --slave-rows-search-algorithms=list | |
---|---|---|
Permitted Values | ||
Default | TABLE_SCAN,INDEX_SCAN | |
Valid Values | TABLE_SCAN,INDEX_SCAN | |
INDEX_SCAN,HASH_SCAN | ||
TABLE_SCAN,HASH_SCAN | ||
TABLE_SCAN,INDEX_SCAN,HASH_SCAN (equivalent to INDEX_SCAN,HASH_SCAN) | ||
Index used / option value | INDEX_SCAN,HASH_SCAN or INDEX_SCAN,TABLE_SCAN,HASH_SCAN | INDEX_SCAN,TABLE_SCAN TABLE_SCAN,HASH_SCAN |
-- | -- | -- |
Primary key or unique key | Index scan | Index scan |
(Other) Key | Hash scan over index | Index scan |
No index | Hash scan | Table scan |
-
本 WIKI 包含了《千金良方--MySQL 性能优化金字塔法则》一书的代码段加粗命令行命令和SQL语句文本、以及4个附录内容,其中:
- 代码段和高清图单独整理为一个系列文档,如下:
- 每个附录都各自整理成了一个小系列文档,如下:
-
《千金良方--MySQL 性能优化金字塔法则》 一书的作者信息如下:
- 李春、罗小波、董红禹
-
联系人QQ:309969177
-
提示:
-
郑重声明:本WIKI仓库中的资料为电子工业出版社与本书的三位作者共同授权开源,为了在方便大家的同时,避免不必要的纠葛,任何商业与非商业的引用、转载,麻烦大家注明出处,谢谢配合!