MySQL优化(一)

it2025-01-13  3

select inet_aton();字符串转整形select inet_ntoa();整形转字符串1.尽可能使用整形代替字符串:2.金额的存储计算机中不能对小数转化为二进制定点数。小单位,大数额。price decimal(8,2)定点数,有两位小数的定点数price int,bigint小单位,大数额注意,定点数是非常大的数转成整数,整型存不了3.尽可能选择小的数据类型4.尽可能使用not null5.字段注释完整6.单张表字段数量不要过多20-30个极限了设计表结构的时候可以预留几个字段,快速修改表结构7.关联表设计1:1 一对一1:n ; n:1 一对多;多对一M:n 多对多8.范式NF满足第三范式:独立数据独立建表表中存在与业务逻辑无关的ID主键表之间的关系由关联字段(关联表)进行表示

优势:减少数据的冗余(重复)和易于维护更新9.存储引擎现在Oracle主推InnoDB存储引擎10.优化该表:optimize table table-name释放空间,去体积11.Mysql中的锁锁的作用是避免资源争用的机制功能流程:先加锁后用类型:共享锁 读锁,S-lock 自己能读不能写,别人能读,写时堵塞排它锁 写锁,X-lock,独占锁 自己能读能写,别人不能读不能写InnoDB同时实现了表级和行级锁定表锁:加锁:lock tables table-name1,table-name2 READ|WRITE;解锁: unlock tables;

行锁:加锁:select * from table-name1 where lock in share mode;select * from table-name1 where for update;解锁: unlock tables;12.索引,最重要最常用的优化手段使用索引的目的,加快检索关键字相对于数据本身,数据量小关键字都是排序的

索引的类型:普通index索引、唯一unique index索引、主键primary key索引、全文fulltext索引查看表索引:show indexes from table; 添加索引:alter table table-name add unique key(key-name);删除索引:alter table table-name drop key key-name;

MySQL索引-执行计划的工具:explain select * from user\G

13.索引在哪些场景会被使用(1)where(2)join(3)order by(4)索引覆盖14.索引语法注意(1)字段统一在最左侧(2)like,不以通配符%开头like 实际能用,但仅仅只使用在匹配开头字符(3)复合索引非最左侧字段,不能使用索引(4)or保证两边条件都有索引可用(5)状态值,不容易使用到索引如:男、女和保密状态值会导致一个状态值同事匹配大量的记录

转载于:https://www.cnblogs.com/Min-Na/p/11095425.html

最新回复(0)