正确使用索引的条件 1.建立索引的列的重复度不能太高 2.条件列不能参与计算 3.不能使用函数 4.条件中不能使用范围 5.不要使用like '%c' 6.条件中用or a=0 or b=1 or c=2 or d=4 只要其中一列没有索引就无法命中 7.最左前缀(a,b,c,d) 只适用于and条件的列,如果出现范围,从出现范围的字段开始就失效,必须带着最左侧的列 只要不带a就无法命中索引 a = 1 or b = 2 无法命中索引 a = 1 and b>100 a可以命中索引 b,c,d无
MySQL面试 - 读写分离 面试题 你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题? 面试官心理分析 高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少.所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗? 面试题剖析 如何实现 MySQL 的读写分离? 其实很简单,就是基
第一方面:30种mysql优化sql语句查询的方法 避免全表扫描: 1.where 及 order by 上建立索引.2.避免在 where 子句中使用!=或<>操作符3. select id from t where num is null 改成: num上设置默认值0==> select id from t where num=04.避免在 where 子句中使用 or 来连接条件 select id from t where num=10 or num=20 ==> s
一.JSON类型 答案是不可以 为Json类型建索引会报错 mysql)); ERROR (): JSON column 'card_pay_data' cannot be used in key specification. 二.text类型 答案是可以的,但是需要指定长度 mysql> CREATE INDEX idx2 ON user (tests); ERROR (): BLOB/TEXT column 'tests' used in key specification without