易截截图软件、单文件、免安装、纯绿色、仅160KB

给mysql数据表加索引的一次经验与体会.


昨天遇到一个问题:
在一张有三十万条纪录的数据表A,其主键自增字段id,name字段(varchar),还有type_id(int),在name字段上已经添加了索引。type_id由于是整型字段,认为加索引没有太多的意义,所以没有加索引。
本次有一个需求是在一个循环中按type_id查询此表A,结果一执行此循环,mySQL立刻占用CPU到200%以上,导致服务器响应极慢。
开始没想到是查询速度的问题,后来发现换一个表,CPU占用率立刻下降。于是分析了查询过询,发现每次查询都要遍历整表,所以数据库压力非常大。手工直接使用sql在数据库查询:
select * from A where type_id = xxxx
执行时间约为0.42s(400ms左右),速度较慢。
于是在type_id上添加索引,然后再执行同条语句。
执行时间为0.01s(10ms左右),速度明显提升(40倍左右)。
再执行循环,发现CPU占用8%左右,比较理想。
性能提升的原因分析:
type_id的值有特殊性:大部分type_id的值为0,索引效果明显。正好本次查询不需要查询type_id为0的纪录。如果要查询type_id为0的纪录,则效果提升可能不明显。
体会:
(1)在遇到查询性能的时候,适当的分析数据,添加索引,可能能大幅提高性能。
(2)是否添加索引,需要考量数据总量及数据更新频度再做决定。
(3)分析一条语句是否使用了索引。可使用 explain sql;
如explain select * from A where type_id = xxxx 会显示是否使用索引。


相关文档:

ASP连接MySQL数据库的方法

ASP连接MySQL数据库的方法
 
 
 
ASP等语言连接mysql数据库,可以通过安装mysql的ODBC驱动,通过配置ODBC数据源,连接并操作数据库。
mysql odbc 3.51版
下载地址:
http://dev.mysql.com/downloads/connector/odbc/3.51.html
<%
'测试读取MySql数据库的内容
strconnection="driver={mysql odb ......

如何修改mysql root密码

   忘记MySQL(和PHP搭配之最佳组合)
ROOT密码是在MySQL(和PHP搭配之最佳组合)使用中很常见的问题,可是有很多朋友并不会重置ROOT密码,那叫苦啊,我有深有感触,特写此文章与大家交流:
1、编辑MySQL(和PHP搭配之最佳组合)配置文件:
windows环境中:%MySQL(和PHP搭配之最佳组合)_installdir%\my.ini //一般 ......

编辑MYSQL时出错:No curses/termcap library found

环境:CentOS linux 5.2
系统只安装VI编辑器与开发工具
 
在编辑MYSQL时:
#./configure --prefix=/usr/local/mysql --with-charset=gb2312  --with-extra-charsets=all 
执行后出现如下错误:
checking for tgetent in -ltermcap… no
checking for termcap functions library… config ......

linux下解决mysql的字符编码问题

http://hi.baidu.com/emersonm/blog/item/ee230a36ca566fd7a2cc2b4a.html
linux下解决mysql的字符编码问题
2009-10-06 21:03
mysql的字符编码是比繁琐的事情,我用的fedora11默认安装mysql5.1
$mysql --user=root --password=布拉布拉布拉
进入后
mysql>show variables like 'character%';     ......

ubuntu下配置Apache+Mysql+PHP

今天看到一篇关于ubuntu下配置Apache+Mysql+PHP的文章,觉得很有用,加以自己的理解和编写,记录下来。
一、Apache的安装 
 
Apache作为一个功能强大的Web程序,自然是架建Web服务器的首选,好了,下面我们就来安装Apache。在终端下输入下在面命令: 
    sudo apt-get i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号