MYSQL索引和优化详细说明教程

2008-09-30 11:52:40  |   才被阅读:1,348 次  |   要评论?
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:平凡的世界
标签: ,

在大型数据库中,索引是提高速度的一个关键因素。不管表的结构是多么简单,一次500000行的表扫描操作无论如何不会快。如果你的网站上也有这种大规模的表,那么你确实应该花些时间去分析可以采用哪些索引,并考虑是否可以改写查询以优化应用。要了解更多信息,请参见MySQL manual。另外注意,本文假定你所使用的MySQL是3.23版,部分查询不能在3.22版MySQL上执行。

继续阅读全文...

MySQL优化之COUNT(*)效率

2008-09-30 11:38:04  |   才被阅读:4,127 次  |   才1条评论
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:平凡的世界
标签: , , ,

优化总结:

1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;
2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 这种查询;
3.杜绝SELECT COUNT(COL) FROM tablename WHERE COL2 = ‘value’ 的出现。

继续阅读全文...

忘记MYSQL密码后解决方案

2008-09-26 10:50:27  |   才被阅读:1,363 次  |   要评论?
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:Hi!Admin
标签:

      如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。       启动 MySQL :bin/safe_mysqld –skip-grant-tables &       就可以不需要密码就进入 MySQL 了。       然后就是 >use mysql >update user set password=password(”new_pass”) where user=”root”; >flush privileges;       重新杀 MySQL ,用正常方法启动 MySQL 。         编者注:本文并没有讨论如此操作是否会导致数据库数据异常,请读者慎重考虑!

继续阅读全文...

验证使用子查询提高MySQL分页效率

2008-09-25 19:11:00  |   才被阅读:1,671 次  |   要评论?
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:老王
标签: , ,

BANGF348D58E49C9B8FC7701D2CBXIANGUO 很久以前,我写过一篇文章,说明了MySQL下的几种分页方式。这些天,陆续有几个人问过我其中的子查询方式,并对子查询分页的高效率表示质疑。今天我特意做了一个试验来验证这一点。

继续阅读全文...

Mysql数据库索引查询优化的分享

2008-09-25 19:05:39  |   才被阅读:1,344 次  |   要评论?
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:Hi!Admin
标签: , ,

问题分析:

这张表大约容量30G,数据库服务器内存16G,无法一次载入。就是这个造成了问题。

这条SQL有两个条件,ID一到五十万和Program_id一到四千,因为program_id范围小得多,mysql选择它做为主要索引。

先通过索引文件找出了所有program_id在1到4000范围里所有的id,这个过程非常快。

接下来要通过这些id找出表里的记录,由于这些id是离散的,所以mysql对这个表的访问不是顺序读取。

而这个表又非常大,无法一次装入内存,所以每访问一条记录mysql都要重新在磁盘上定位并把附近的记录都载入内存,大量的IO操作导致了速度的下降。

继续阅读全文...