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

首用MYSQL索引的快感

用了MYSQL一年多,且一直被MYSQL的快速查询所吸引,可今天怎么碰石头了?
1Dp4V*W+t0
3p)o{3s.a'^Qr0
原来就是索引在做怪。由于本人是业余爱好自学PHP+MYSQL开发,所以在理论优化方面一般考虑甚少,基本不用字段索引去做MYSQL优化,可能也是我不会用吧。(总看书上说索引的好处好处的,今天着实尝到甜头了。)PHPChina 开源社区门户Eg'Z-G{P:B-MM
D
Bsb fA�O*f7@S$X0
u5Ru%Ju0
讲讲经过:PHPChina 开源社区门户6qF"f+t/c3B5yS7x4p
h-\IO!I
U#D0
根据程序逻辑需要,我得用PHP

复去操作这个百万条数据表3-4次,其中有select和update(update的时候需要去生成一个文本文件),delete(delete的时候
需要去把这个文件删除),但把程序逻辑封装,测试程序时,操作后确实让人心痛了,甚至有准备上一个SQL SERVER去测试效率问题的念头。最后经技术

监点了一下,说让把程序每段加个执行时间再看看。我照做,在update这一块去进行测试,发现问题并不是在这个百万条数据表上,我就把另一段生成文件文
本文件的程序拿掉,测试一切正常,一次update300条记录时间在0.08秒左右就操作完了。本以为问题是出在生成文本文件上,且在SQL语句上不存
在问题,我想即是与MYSQL无关,就把另一段写文件文件的操作拿掉了先。PHPChina 开源社区门户D[4z�LM3I
{C
~W)[ U/?:s7g8F8e0
接着我再测试delete部分是不是也存在着这个问题,最后我按上面的步骤同样也把删除文件的一部分程序拿掉了先,再看测试时间,发现问题依然存在,郁闷了一会,继续测试这段代码
。这段代码是一个表关联操作(先查询后删除),测试发现这个关联操作花了7秒钟时间。我想,一个一个拆开试,其中我又拆分测试,把删除的SQL语句部分拿掉,再看查询部分的时间测试,结果仅查询部分花去了5秒。我就发现问题肯定是出在了查询语句上了。PHPChina 开源社区门户n{Tx/J2UWe2Vua
-Q&OG`1z-NP1b2?0

敢肯定问题出在查询语句上了后,我就直接到mysql-front上去做个查询测试,在这个百万条记录里去查询一条符合条件的记录试试。结果不出所料,查
询结果是一条记录,却花了4.76秒时间。我心想:不是吧,这就是传说中的快速查询的MYSQL??我开始回忆了,以前看书的时候MYSQL优化等内容。
突然想到索引?立刻为一个经常需要where的字段建立了一个索引,然后同样的SQL语句再做测试,这次仅只花了0.04秒。顿时头脑清醒了�


相关文档:

mysql中文乱码产生原因和解决办法

一、乱码产生原因
mysql字符编码是版本4.1引入的,支持多国语言,而且一些特性已经超过了其他的数据库系统。可以在MySQL Command Line Client 下输入如下命令查看mysql的字符集
mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset   | Descr ......

四种在MySQL中修改root密码的方法

 <>整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!
方法1: 用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
 
  mysqladmin -u root password "newpass"
  如果root已经设置 ......

MySQL修改密码方法总结

首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。 方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个 ......

Ubuntu下mysql修改字符集

首先停止MySQL服务:sudo /etc/init.d/mysql stop
然后编辑MySQL配置文件:sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段下面加入
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
重新启动MySQL服务 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号