Optimization
無法在 mariadb 5.5 上的 optimizer_switch 中設置 batched_key_access=on
我正在將我的應用程序從 Mysql5.6 切換到 Mariadb5.5。我支持在 optimizer_switch 中添加 batched_key_access=on,但是當我這樣做時,mariadb 拒絕啟動:
170104 17:16:14 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 170104 17:16:25 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata 170104 17:16:26 [ERROR] /data/mysql/bin/mysqld: Error while setting value 'batched_key_access=off' to 'optimizer_switch' 170104 17:16:26 [ERROR] Aborting
當我閱讀 Mariadb Docs 時,我想設置 mrr=on 這就是我所做的:
optimizer_switch='index_condition_pushdown=off' optimizer_switch='mrr=on' optimizer_switch='mrr_cost_based=off' optimizer_switch='batched_key_access=on'
難道我做錯了什麼?
謝謝您的幫助。
MariaDB中沒有
batched_key_access
密鑰——該功能是在 MariaDB 5.3 中發布的,遠早於 MySQL 5.6,因此它自然有自己的命名,與 MySQL 不同。您可能正在尋找的是join_cache_bka
,但請完整閱讀有關基於塊的算法的頁面,因為您還需要根據需要為 選擇合適的值join_cache_level
。