当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。
 

 

 ·mysql查询优化程序    »显示摘要«
    摘要:在发布一个选择行的查询时, mysql进行分析,看是否能够对它进行优化,使它执行更快。本文我们将研究查询优化程序怎样工作。更详细的信息,可参阅mysql参考指南中的“getting maximum performance from mysql”,本文描述了mysql采用的各种优化措施。(http://www.mysql.com/ 处的mysql联机参考指南在不断地更新。) mysql查询优化程序......
 ·mysql多表操作和备份处理    »显示摘要«
    摘要:多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。 1、查看第一个表mytable的内容: mysql> select * from mytable; +----------+-......


让MYSQL有效地装载数据

多时候关心的是优化select 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当.相对来说,将数据装入数据库是直截了当的.然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下:

在表无索引时装载比索引后装载更快.如果有索引,不仅必须增加记录到数据文件,而且还要修改每个索引以反映增加了的新记录. 【程序编程相关:全面分析防火墙及防火墙的渗透(1)

成批装载较单行装载更快,因为在装载每个记录后,不需要刷新索引高速缓存;可在成批记录装入后才刷新. 【推荐阅读:选用单防火墙DMZ还是双防火墙DMZ

load data(包括其所有形式)比insert 效率高,因为其成批装载行.索引刷新较少,并且服务器只需分析与解释一条语句而不是几条语句. 【扩展信息:防火墙基础知识与常见相关术语

较短的sql 语句比较长的sql 语句要快,因为它们涉及服务器方的分析较少,而且还因为将它们通过网络从客户机发送到服务器更快.这些因素中有一些似乎微不足道(特别是最后一个因素),但如果要装载大量的数据,即使是很小的因素也会产生很大的不同结果.我们可以利用上述的一般原理推导出几个关于如何最快地装载数据的实际结论:

load data 比load data local 效率更高.利用load data,文件必须定位在服务器上,而且必须具有file 权限,但服务器可从磁盘直接读取文件.利用load data local,客户机读取文件并将其通过网络发送给服务器,这样做很慢.

如果必须使用insert,应该利用允许在单个语句中指定多行的形式,例如:

560)this.style.width=560; onmousewheel = javascript:return big(this) height=28 src="/files/uploadimg/20051129/1649370.jpg" width=361>

可在语句中指定的行越多越好.这样会减少所需的语句数目,降低索引刷新量.如果使用mysqldump 生成数据库备份文件,应该使用--extended-insert 选项,使转储文件包含多行insert 语句.还可以使用- - o p t(优化) ,它启用--extended-insert 选项.


...   下一页
 ·用mysql创建数据库和数据库表    »显示摘要«
    摘要:1、使用show语句找出在服务器上当前存在什么数据库: mysql> show databases; +----------+ | database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec)2、创建一个数据库abccs mysql> crea......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE