mysql 分层
- 连接层
- 提供与客户端连接的服务
- 服务层
- 提供各种用户使用的接口
- 提供 SQL 优化器(MySQL QUery Optimizer)
- 引擎层
- 提供各种存储数据的方式
- InnoDB
- MyISAM
- 存储层
- 存储数据
表结构
表字段类型按照规,数据库中表必须有主键, id如果是雪花算法长度超长,浏览器解析不了可以用varchar类型
表连接
连表sql 不影响业务的情况可以小表(数据少的表)连大表, 如果业务不允许,sql优化器也会帮助优化
连表时连表条件加索引 左连接 ,左表加索引 友连接,右表加索引 查询条件加索引 查询字段加索引
索引失效
复合索引不能跨字段,必须是复合索引第一个字段开头,索引不能参与计算,索引不能类型转换
使用 between, in, <, >, >=, <= 索引失效
in 放在where 条件最后面