PHP mysql 优化

本文介绍了MySQL数据库的优化方法,包括SQL语句规范、数据库设计优化、索引管理、查询优化和大型存储的解决方案。建议使用大写关键词提高查询效率,通过ALTER TABLE调整自增ID,利用ZEROFILL属性填充数据,导入数据时先删除索引,使用IDE编写SQL文件以便于管理和恢复。在数据库设计上,遵循第三范式,合理选择数据类型,利用分区提高查询效率。在索引方面,理解InnoDB和MyISAM的区别,创建合适长度的索引,并使用联合索引优化多条件查询。在查询时,尽量减少数据库操作,使用EXPLAIN和PROFILE分析查询性能,通过慢查询日志找出性能瓶颈。此外,介绍了主从复制和读写分离、数据库分片等策略,以应对大数据量的挑战。
摘要由CSDN通过智能技术生成
几条MySQL小技巧
  • 1、SQL语句中的关键词最好用大写来书写,第一易于区分关键词和操作对象,第二,SQL语句在执行时,MySQL会将其转换为大写,手动写大写能增加查询效率(虽然很小)。
  • 2、如果我们们经对数据库中的数据行进行增删,那么会出现数据ID过大的情况,用ALTER TABLE tablename AUTO_INCREMENT=N,使自增ID从N开始计数。
  • 3、对int类型添加 ZEROFILL 属性可以对数据进行自动补0
  • 4、导入大量数据时最好先删除索引再插入数据,再加入索引,不然,mysql会花费大量时间在更新索引上。
  • 5、创建数据库书写sql语句时 ,我们可以在IDE里创建一个后缀为.sql的文件,IDE会识别sql语法,更易于书写。更重要的是,如果你的数据库丢失了,你还可以找到这个文件,在当前目录下使用/path/mysql -uusername -ppassword databasename < filename.sql来执行整个文件的sql语句(注意-u和-p后紧跟用户名密码,无空格)。

 

数据库设计方面优化
1、数据库设计符合第三范式,为了查询方便可以有一定的数据冗余。
2、选择数据类型优先级 int > date,time > enum,char>varchar > blob,选择数据类型时,可以考虑替换,如ip地址可以用ip2long()函数转换为unsign int型来进行存储。
3、对于char(n)类型,在数据完整的情况下尽量较小的的n值。
4、在建表时用partition命令对单个表分区可以大大提升查询效率,MySQL支持RANGE,LIST,HASH,KEY分区类型,其中以RANGE最为常用,分区方式为:
  CREATE TABLE tablename{
  }ENGINE innodb/myisam CHARSET utf8 //选择数据库引擎和编码
  PARTITION BY RANGE/LIST(column),//按范围和预定义列表进行分区

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值