解决MySQL数据库中与优化器有关的问题
作者:10961 时间:2008-12-17 16:18:00
MySQL采用了基于开销的优化器,以确定处理查询的最解方式。在很多情况下,MySQL能够计算最佳的可能查询计划,但在某些情况下,MySQL没有关于数据的足够信息,不得不就数据进行“有教养”的估测。
当MySQL未能做“正确的”事时,可使用下述工具来帮助MySQL:
使用EXPLAIN语句获取关于MySQL如何处理查询的信息。要想使用它,可在SELECT语句前添加关键字EXPLAIN:
mysql> EXPLAIN SELECT * FROM t1, t2 WHERE t1.i = t2.i;
使用ANALYZE TABLE tbl_name,为已扫描的表更新键分配。
为已扫描的表使用FORCE INDEX,通知MySQL:与使用给定的索引相比,表扫描开销昂贵。
SELECT * FROM t1, t2 FORCE INDEX (index_for_column)
WHERE t1.col_name=t2.col_name;
USE INDEX和IGNORE INDEX也有一定的帮助。
你可以调节全局或线程类系统变量。例如,用“--max-seeks-for-key=1000”选项启动mysqld,或使用“SET max_seeks_for_key=1000”来通知优化器:假定任何表扫描均不会导致1000个以上的键搜索。
标签:
0
投稿
猜你喜欢
python3利用Dlib19.7实现人脸68个特征点标定
2021-05-05 19:13:06
Element el-date-picker 日期选择器的使用
2024-05-09 15:09:08
基于python判断字符串括号是否闭合{}[]()
2022-03-25 15:58:45
关于页面刷新,事件重复提交的方法分享
2023-07-06 06:50:03
Python实现的栈(Stack)
2022-12-18 20:35:51
详解git使用小结(本地分支与远程分支、git命令)
2022-03-05 21:22:32
python操作redis方法总结
2021-12-07 05:51:22
python删除过期log文件操作实例解析
2021-02-03 18:29:36
django中使用memcached示例详解
2023-02-10 07:30:50
vue.js使用watch监听路由变化的方法
2024-05-10 14:16:22
python误差棒图errorbar()函数实例解析
2023-12-14 22:39:49
详解javascript中的变量提升和函数提升
2024-06-07 15:53:28
python中利用matplotlib读取灰度图的例子
2022-08-08 08:25:36
pycharm + django跨域无提示的解决方法
2021-11-07 21:15:39
vue-quill-editor实现图片上传功能
2024-04-30 10:22:40
sql将时间类型转换为字符串类型汇总
2024-01-25 10:33:42
Mysql全文搜索match against的用法
2024-01-19 16:30:57
基于selenium及python实现下拉选项定位select
2023-01-13 12:17:48
Python numpy和matlab的几点差异介绍
2023-12-14 23:26:39
Python登录系统界面实现详解
2021-02-11 19:24:04