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

MySQL语句优化的基本原则

MySQL语句优化的基本原则: 
◆1、使用索引来更快地遍历表。 
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说: 
a.有大量重复值、且经常有范围查询( > ,< ,> =,< =)和order by、group by发生的列,可考虑建立群集索引; 
b.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; 
c.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。索引虽有助于提高性能但不是索引越多越好,恰好相反过多的索引会导致系统低效。用户在表中每加进一个索引,维护索引集合就要做相应的更新工作。 
◆2、在海量查询时尽量少用格式转换。 
◆3、ORDER BY和GROPU BY使用ORDER BY和GROUP BY短语,任何一种索引都有助于SELECT的性能提高。 
◆4、任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。 
◆5、IN、OR子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子句中应该包含索引。 
◆6、只要能满足你的需求,应尽可能使用更小的数据类型:例如使用MEDIUMINT代替INT 
◆7、尽量把所有的列设置为NOT NULL,如果你要保存NULL,手动去设置它,而不是把它设为默认值。 
   
◆8、尽量少用VARCHAR、TEXT、BLOB类型 
◆9、如果你的数据只有你所知的少量的几个。最好使用ENUM类型 
◆10、正如graymice所讲的那样,建立索引。 
以下是我做的一个实验,可以发现索引能极大地提高查询的效率: 
我有一个会员信息表users,里边有37365条用户记录: 
在不加索引的时候进行查询: 
sql语句A: 
select * from users where username like '%许%';
在Mysql-Front中的8次查询时长为:1.40,0.54,0.54,0.54,0.53,0.55,0.54 共找到960条记录 
sql语句B: 
select * from users where username like '许%';
在Mysql-Front中的8次查询时长为:0.53,0.53,0.53,0.54,0.53,0.53,0.54,0.54 共找到836条记录 
sql语句C: 
select * from users where username like '%许';
在Mysql-Front中的8次查询时长为:0.51,0.51,0.52,0.52,0.51,0.51,0.52,0.51 共找到7条记录 
为username


相关文档:

how to install apache, PHP and MySQL on Linux

how to install apache, PHP and MySQL on Linux
This tutorial explains the installation of Apache web server, bundled with PHP and MySQL server on a Linux machine. The tutorial is primarily for SuSE 9.2, 9.3, 10.0 & 10.1 operating systems, but most of the steps ought to be valid for all Linux-lik ......

MySql索引优化注意


文章出处:http://www.diybl.com/course/7_databases/mysql/myxl/20081127/152723.html
设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:
1,创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的, ......

定制你的MySQL命令行

我在登录MySQL后的命令行是这个样子的:
warmbupt@pchuang:/windows/MyCode/SS$ mysql -u root -ppassw0rd
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the curr ......

Django 使用MYSQL数据库 Latin1

      公司mysql统一用latin1的编码,真是叫人苦不堪言。Django用默认UTF8访问MYSQL数据库。在操作数据库时,不管你怎么转码,最终写到数据库里的中文都是乱码。在网上找了很久,也没解决这个问题。
      后来看了一个DJANGO的MYSQL操作的源码,发现了一些问题 先是/d ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号