1.在使用groupby分组查询时,默认分组后,还会排序,可能会降低速度.
在groupby后面增加orderbynull就可以防止排序.
2.有些情况下,可以使用连接来替代子查询。因为使用join,MySQL不需要在内存中创建临时表。
select*fromdept,empwheredept.deptno=emp.deptno;[简单处理方式]
select*fromdeptleftjoinempondept.deptno=emp.deptno;[左外连接,更ok!]
u如何选择
mysql的存储引擎
myisam存储:如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎.,比如bbs中的发帖表,回复表.
INNODB存储:对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表.
问MyISAM和INNODB的区别
1.事务安全innodb支持事物
2.查询和添加速度条件和查询MyISAM速度快
3.支持全文索引myisam
4.锁机制
5.外键MyISAM不支持外键,INNODB支持外键.(在
PHP开发中,通常不设置外键,通常是在程序中保证数据的一致)
Memory存储,比如我们数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory,速度极快.
u如果你的
数据库的存储引擎是myisam,请一定记住要定时进行碎片整理
举例说明:
create table test100(id int unsigned ,name varchar(32))engine=myisam;
insert into test100 values(1,’aaaaa’);
insert into test100 values(2,’bbbb’);
insert into test100 values(3,’ccccc’);
我们应该定义对myisam进行整理
optimize table test100;
mysql_query(“optimize tables "tbname”);
- 点击复制链接 与好友分享!回本站首页
- 上一篇:php mysql数据库优化(一)
- 下一篇:php mysql教程:mysql连接查询
- 相关文章
- 图文推荐