-- Table "isa" DDL CREATE TABLE `isa` ( `KEYIN` varchar(255) default NULL, `agt` varchar(255) default NULL, `TBD` char(10) default NULL, `ISA` varchar(255) default NULL, `peird` varchar(255) default NULL, `val` varchar(255) default NULL, `G` varchar(255) default NULL, `H` varchar(255) default NULL, `I` varchar(255) default NULL, KEY `idx1` (`TBD`) ) ENGINE=MyISAM DEFAULT CHARS...
4.2 mysql查询优化程序 在发布一个选择行的查询时, mysql进行分析,看是否能够对它进行优化,使它执行更快。本节中,我们将研究查询优化程序怎样工作。更详细的信息,可参阅mysql参考指南中的“Getting Maximum Performance from mysql”,该章描述了mysql采用的各种优化措 施。该章中的信息会不断变化,因为mysql的开发者不断对优化程序进行改进,因此,有必要经常拜访一下该章,看看是否有可供利用的新技巧。(http://www.m...
索引是提高查询速度的最重要的工具。当然还有其它的一些 技术 可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在 mysql 邮件列表中,人们经常询问那些让查询运行得更快的 方法 。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法来...
索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在mysql邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法来提高性...
§19 查询优化 本章主要内容 l 查找慢速查询 l 查询基准 l 慢速查询日志 l 使用EXPLAIN查看查询的执行情况 l mysql内置的查询优化 l 优化小技巧 查找慢速查询的方法有 1,观察, 比如一个具体的查询需要很长的时间 2,基准,测试应用程序,看哪部分比较慢 3,慢速查询日志 一般是优化那些经常使用的查询. 基准能较精确的计算出查询时间,最好是将一个查询执行多次,查看平均时间, ...
管理员的优化措施 前面的部分中讲解的优化措施都是没有特权的mysql用户能够执行的。可以控制mysql服务器或计算机的系统管理员能够执行额外的优化措施。例如,有些服务器参数附属于查询处理过程,并且是可以调整的,而且某些硬件配置因素对查询处理速度有直接的影响。在很多情况下,这些优化措施提高了整个服务器的性能,因此可以让所有的mysql用户都受益。 一般来说,当你执行管理员优化的时候,应该紧记以下规则: ·...
调度和锁定 前面的部分主要是聚焦于如何让单独的查询执行的速度更快。mysql还允许你改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。改变优先级还可以确保特定类型的查询被处理得更快。这一部分讲解mysql的默认的调度策略和可以用来影响这些策略的选项。它还谈到了并发性插入操作的使用和存储引擎锁定层次对客户端的并发性的影响。为了讨论的方便,我们把执行检...
数据类型与效率 在可以使用短数据列的时候就不要用长的。如果你有一个固定长度的CHAR数据列,那么就不要让它的长度超出实际需要。如果你在数据列中存储的最长的值有40个字符,就不要定义成CHAR(255),而应该定义成CHAR(40)。如果你能够用MEDIUMINT代替BIGINT,那么你的数据表就小一些(磁盘I/O少一些),在计算过程中,值的处理速度也快一些。如果数据列被索引了,那么使用较短的值带来的性能提高更加显著。不仅索引可以提高查...
查询优化器 当你提交一个查询的时候,mysql会分析它,看是否可以做一些优化使处理该查询的速度更快。这一部分将介绍查询优化器是如何工作的。如果你想知道mysql采用的优化手段,可以查看mysql参考手册。 当然,mysql查询优化器也利用了索引,但是它也使用了其它一些信息。例如,如果你提交如下所示的查询,那么无论数据表有多大,mysql执行它的速度都会非常快: SELECT * FROM tbl_name WHERE 0; 在这个例子中,mysql查看...