![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 77
程序猿小冰
主要分享 Java 干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,Java面试题,以及前沿热门资讯等。同时,也欢迎加入我的知识星球【编程领航猿】
展开
-
索引的设计原则有哪些
为什么需要索引?因为索引是用来加快数据访问的,如果你的数据索引设计得不合适的话,或设计得不合理的话,会极大程度上影响我们的性能。注意一点,并不是说索引越多,效率越高。在进行索引设计的时候,应该保证索引字段占用的空间越小越好,这只是一个大方向,还有一些细节需要注意:适合所有的列是出现在 where 子句中的列,或者说连接子句中指定的列。也就是我们在进行查询的时候,你在建索引时,并不是所有列都可以随便建索引,只有当做条件查询的时候,那个列当成索引才是最合适的。包括你在进行 join 操作的时候,那个关联列以原创 2022-03-23 17:15:16 · 734 阅读 · 0 评论 -
和面试官聊 MySQL 为什么需要主从同步
就说白了,MySQL 的主从同步到底解决了什么样的一个问题。这道面试题啊并不难,其实经历过主从复制的都应该知道它为了什么。比如读写分离,分库分表,都是我们主动同步要解决一个关键点。但是面试中如果问到了,你要给他一套理论知识或者详细的一个文字描述,需要详细剖析解析啊。主从同步问题在业务复杂系统中,有这么一个场景,有一条 SQL 语句需要锁表,导致是暂时不能使用读的服务,那么就很影响运行中的业务了。使用主从复制,让主库负责写,存库负责读,这样即使出现了锁表的情况,读从库也可以读取我们正常的一个业务数据。在我原创 2022-03-21 16:37:56 · 1249 阅读 · 0 评论 -
MySQL 精选问答 500 题
1 、我创建了⼀个没有select权限的⽤户, 执⾏select * from T where k=1 , 报错“select command denied”,并没有报错“unknown column”,是不是可以说明是在打开表之后才判断读取的列不存在?答:这个是⼀个安全⽅⾯的考虑。你想想⼀个⽤户如果没有查看这个表的权限,你是会告诉他字段不对还是没权限?如果告诉他字段不对,其实给的信息太多了,因为没权限的意思还包含了: 没权限知道字段是否存在。2、wait_timeout 是客户端 ⾮交互式的原创 2021-10-03 16:32:46 · 958 阅读 · 0 评论