> 데이터 베이스 > MySQL 튜토리얼 > 添补mysql的性能优化数条经验

添补mysql的性能优化数条经验

WBOY
풀어 주다: 2016-06-07 16:25:44
원래의
856명이 탐색했습니다.

增补mysql的性能优化数条经验 1.只要一条数据时,使用limit 1,如果你确定你的条件下,只可能会有一条数据,请不要再让mysql继续下去查找下去 比较用例 1.1.select * from tablename where id = 1; 1.2.select 1 from tablename where id = 1 limit 1; 2.如果

增补mysql的性能优化数条经验

1.只要一条数据时,使用limit 1,如果你确定你的条件下,只可能会有一条数据,请不要再让mysql继续下去查找下去

比较用例

1.1.select * from tablename where id = 1;

1.2.select 1 from tablename where id = 1 limit 1;

2.如果表中某一个字段经常被用来查询,那么请使用索引对该字段进行标记

alter table tablename and index(fieldone);

如此,查询的效率会增加很多。

3.在join 表的时候使用相当类型的列,并将其索引

如果你一个sql中使用较多的join查询,那么请确认两个表中的条件字段是否被建立索引,并且字段具有相当类型,比如说使用以下语句进行join链接

select * from table1 t1 left join table2 t2 on t1.name = t2.name;

那么请确认t1.name和t2.name具有相同类型的字符集,并且name在两个表中都有索引,那么这样的查询速度也会提升很多。

4.避免使用select *

如果你确定你将要获取表中某一些列,那么使用以下的查询

select field1 from table1?

而不是

select * from table1

因为越多的查询自然会增加数据库查询的压力,同时,从后台传输到前台两个独立的服务器时,也会增加网络传输的压力,那么请尽量使用需要什么字段就获取什么字段的好习惯。

5.我们应该为每张表设置一个自动增长的列,并且为主键,且字段类型为unsigned(未签字的),然后为auto_increment(自动增长的),并且请不要使用varchar类型的字段作为主键,即使是唯一的。

?

今天暂时先总结以上例子,稍后继续。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿