石家庄站内换乘图解,wordpress 标签 彩色,公司网页制作哪家强,wordpress 查询插件MySQL 索引使用有哪些注意事项呢#xff1f;
可以从两个维度回答这个问题#xff1a;
索引哪些情况会失效#xff0c;索引不适合哪些场景
索引哪些情况会失效
查询条件包含or#xff0c;会导致索引失效。隐式类型转换#xff0c;会导致索引失效#xff0c; 例如age字…MySQL 索引使用有哪些注意事项呢
可以从两个维度回答这个问题
索引哪些情况会失效索引不适合哪些场景
索引哪些情况会失效
查询条件包含or会导致索引失效。隐式类型转换会导致索引失效 例如age字段类型是int我们where age “1”这样就会触发隐式类型转换int转成string。 like通配符会导致索引失效。 注意ABC%“会走range索引”%ABC索引才会失效。 联合索引查询时的条件列不是联合索引中的第一个列索引失效。对索引字段进行函数运算。 对索引列运算如、-、*、/索引失效。 索引字段上使用! 或者 not in时会导致索引失效。 索引字段上使用is null is not null可能导致索引失效。相join的两个表的字符编码不同不能命中索引会导致笛卡尔积的循环计算mysql估计使用全表扫描要比使用索引快,则不使用索引。
索引不适合哪些场景
数据量少的不适合加索引更新比较频繁的也不适合加索引离散性低的字段不适合加索引如性别
MySQL 遇到过死锁问题吗你是如何解决的
排查死锁的步骤 查看死锁日志
show engine innodb status;找出死锁Sql 分析sql加锁情况 模拟死锁案发 分析死锁日志 分析死锁结果
日常工作中你是怎么优化SQL的
可以从这几个维度回答这个问题
加索引避免返回不必要的数据适当分批量进行优化sql结构主从架构提升读性能分库分表
分库分表的设计
分库分表方案分库分表中间件分库分表可能遇到的问题 分库分表方案 水平分库以字段为依据按照一定策略hash、range等将一个库中的数据拆分到多个库中。 水平分表以字段为依据按照一定策略hash、range等将一个表中的数据拆分到多个表中。 垂直分库以表为依据按照业务归属不同将不同的表拆分到不同的库中。 垂直分表以字段为依据按照字段的活跃性将表中字段拆到不同的表主表和扩展表中。
常用的分库分表中间件
sharding-jdbcMycat
分库分表可能遇到的问题
事务问题需要用分布式事务啦跨节点Join的问题解决这一问题可以分两次查询实现跨节点的count,order by,group by以及聚合函数问题分别在各个节点上得到结果后在应用程序端进行合并。数据迁移容量规划扩容等问题ID问题数据库被切分后不能再依赖数据库自身的主键生成机制啦最简单可以考虑UUID跨分片的排序分页问题后台加大pagesize处理