1 / 6
文档名称:

sql 优化.doc

格式:doc   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

sql 优化.doc

上传人:xxj16588 2016/6/10 文件大小:0 KB

下载得到文件列表

sql 优化.doc

文档介绍

文档介绍:sql 优化 MySQL 技巧: 做好 Limit 优化 1 、灵活使用 Limit 0 子句: 一、迅速判断查询语句的有效性二、查询某个表的表结构 2、 Limit 与 Group By 结合使用两者一起使用的话, Limit 关键字将不会再重复计算任何不必要的 Group By 的值。两个子句所需要做的一些共同性的工作, 只要做一次即可。这就可以从另外一次角度来提高应用系统的性能。 3 、使用 SQL_calc_found_rows 来提高子句的灵活性带有这个关键字的查询语句, 是无法使用数据缓存的。故在某些情况下会降低数据查询的性能。故一般情况下,这个关键字只用于 Where 条件语句比较复杂的情况。 SQL_CALC_FOUND_ROWS 可以在查询的同时,计算行数: $query = "SELECT SQL_CALC_FOUND_ROWS * FROM title WHERE ID >1000 LIMIT 10;"; $result = $db->query($query); $line = $db->fetch_row($db->query("SELECT FOUND_ROWS();")); print_r($line); 此时,不用额外的查询,即可得到 SELECT count(id) FROM tabled WHERE id>1000; 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数 SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据这样的语句可以改成: SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ...... limit M, N; SELECT FOUND_ROWS(); 4 、与 Distinct 关键字共同使用时的特殊现象 5、 Limit 与索引之间的关系如果数据库管理员决定使用 Limit 子句来指定需要显示的记录数, 那么最好能够最大限度的使用索引,以避免全表扫描,提高工作效率。 6 、使用 INSERT 插入多条记录执行每一次 SQL 服务器都要同样对 SQL 进行分析、优化等操作。 MySQ L 提供了另一种解决方案, 使用一条 INSERT 语句来插入多条记录。这并不是标准的 SQL 语法, 因此只能在 MySQL 中使用 INSERT INTO users (name, age) VALUES(' 姚明',25); INSERT INTO uses SET name =' 姚明', age = 25; 使用 INSERT 插入多条记录 INSERT INTO users(name, age) VALUES(' 姚明', 25), (' 比尔. 盖茨', 50), (' 火星人', 600); 7、 REPLACE 语句使用 REPLACE 插入一条记录时,如果不重复, REPLACE 就和 INSER T 的功能一样, 如果有重复记录, REPLACE 就使用新记录的值来替换原来的记录值插入或更新一条记录 REPLACE INTO users (id,name,age) VALUES(123, ' 赵本山',