
数据库
文章平均质量分 86
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
用openrowset函数操作远程数据库
OPENROWSET包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。当访问链接服务器中的表时,这种方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的方法。可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数。依据 OLE DB 提供程序的能力,还可以将 OPENROWSET 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,然而 OPENROWSET 只返回第一个。语法OPENROWS原创 2022-06-09 20:27:24 · 3130 阅读 · 2 评论 -
为啥不能用uuid做MySQL的主键!?
作者:Yrion地址:cnblogs.com/wyq178/p/12548864.html前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。本篇博客的目录 mysql程序实例 使用uuid和自增id的索引结构对比 .转载 2020-09-06 22:33:19 · 389 阅读 · 0 评论 -
干货 | 携程数据库发布系统演进之路
天浩,携程数据库专家,专注数据库自动化运维研发工作。晓军,携程数据库专家,主要负责运维及分布式数据库研究。一、前言互联网软件本身具有快速迭代、持续交付等特点,加上数据库的表结构(DDL)发布无法做到灰度发布,且回退困难、试错成本高,一个稳定可靠的数据库发布系统对于互联网公司显得尤其重要。本文将介绍携程MySQL数据库发布系统从无到有,版本不断迭代的演进之路,希望对读者有所参考和帮助。我们先后设计了三个版本,最新的版本具有以下功能和特点: 发布期间只有一次表锁,锁定时间极短,锁定时间.转载 2020-09-04 14:19:09 · 487 阅读 · 0 评论 -
面试官:为什么在系统中不推荐双写?
引言某日,阿雄跑去面试!于是有如下情形面试官:"阿雄是吧,做做自我介绍!"阿 雄:"我叫阿雄,来自某a国际电商公司!"面试官:"我看你项目里用了elasticsearch,你是怎么同步数据的呢?"阿 雄:"在代码里写入数据库的时候,同时再写入elasticsearch!"面试官:"那你如何保证写入数据库,和写入elasticsearch原子性问题呢?万一写入数据库成功了,写入elasticsearch失败了怎么处理?"阿 雄:"我还是回去等通知吧!"OK,以上情形纯属虚构,如...转载 2020-08-25 19:26:49 · 509 阅读 · 0 评论 -
数据量很大,分页查询很慢,有什么优化方案?
当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。准备工作为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含tex.转载 2020-08-24 10:06:49 · 480 阅读 · 0 评论 -
想与 Oracle 说“再见”,太难了!
导读“去IOE,最近这几年比较火的话题,市场上也有不少成功的案例。也有不少企业也想去Oracle,今天就聊一聊去Oracle 有哪些难题?Top1 Oracle 太强Oracle 和MySQL对比(或其他开源数据库)。不客气的说Oracle 相对其他数据库,功能或者SQL优化器方面遥遥领先。例如:MySQL8.0才开始执行hash join。高可用 Oracle 有rac 稳的一逼。#现在的MySQL8.0 能和Oracle的9i持平就很不容易了。“推荐一个艿艿写的 600转载 2020-08-20 09:25:17 · 608 阅读 · 0 评论 -
耗时 3 天,上亿数据如何做到秒级查询?
最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度由从半小时以上(甚至查不出)到秒查的质变。从修改 SQL 查询语句逻辑到决定创建存储过程实现,花了我 3 天多的时间,在此总结一下,希望对朋友们有帮助。数据背景首先项目是西门子中国在我司实施部署的 MES 项目,由于项目是在产线上运作(3 years+),数据累积很大。在项目的数据库中,大概上亿条数据的表有 5 个以上,千万级数据的表 10 个以上,百万级数据的表,很多…(历史问题,当初实施无人监管,无人监控数据库这块的性能问题。.转载 2020-08-19 14:27:32 · 779 阅读 · 0 评论 -
你还在认为 count(1) 比 count(*) 效率高?
1. count(1) and count(*)当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了!从执行计划来看,count(1)和count()的效果是一样的。但是在表做过分析之后,count(1)会比count()的用时少些(1w以内数据量),不过差不了多少。如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。因为count(),自动会优化指定到那一个字段。所以没必要去count(1),用count(),sql会帮你完转载 2020-08-18 15:37:27 · 182 阅读 · 0 评论 -
干 MySQL 两千万数据的大表优化解决过程,三种厉害的解决方案
问题概述使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死。严重影响业务。问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视。原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!!我尝试解决该问题,so,有个这个日志。方案概述方案一:优化现有mysql数据库。优点:不影响现有业务,转载 2020-08-11 21:34:11 · 1488 阅读 · 0 评论 -
为什么阿里巴巴规定禁止超过三张表 join?
最近,在知乎上看到一个有意思的问题,我个人觉得不错,挺有收获,在这里跟大家分享一下。题目:《阿里巴巴JAVA开发手册》里面写超过三张表禁止join 这是为什么?这样的话那sql要怎么写?一般,我对于这种问题,解决方案是查询官方文档,要么查看我的工具书《高性能的MySQL》,在本书的6.3节:重构查询的方式里面提到,需要考虑实际情况,看看是否有必要将一个复杂的查询分解成多个简单的查询,并不一定要把所有的工作全都移交给数据库(转换思路)!!!其实Join拆解的核心就是利用In关键字,这个也是转载 2020-08-06 09:41:16 · 567 阅读 · 0 评论 -
因用了Insert into select语句,美女同事被开除了!
前言Insert into select请慎用。这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。通过在Baidu的海洋里遨游,他发现了可以使用insert into select实现,这样就可以避免使用网络I/O,直接使用SQL依靠数据库I/O完成,这样简直不要太棒了。然后他就被开除了。事故发生的经过。由于数据数据库中order_today数据量过大,当时好像有70转载 2020-08-05 09:35:47 · 281 阅读 · 0 评论 -
我脸都问绿了!二面竟然被问到 MySQL 时间类型 datetime、bigint 及 timestamp 的查询效率。。。
“数据库中可以用datetime、bigint、timestamp来表示时间,那么选择什么类型来存储时间比较合适呢?前期数据准备通过程序往数据库插入50w数据 数据表: CREATETABLE`users`(`id`int(11)NOTNULLAUTO_INCREMENT,`time_date`datetimeNOTNULL,`time_timestamp`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP...转载 2020-08-01 17:17:06 · 287 阅读 · 0 评论 -
老大,我就想加个索引,怎么就这么难?
❝领导让我SQL优化,我直接把服务干挂了...❞前言MySQL大表加字段或者加索引,是有一定风险的。大公司一般有DBA,会帮助开发解决这个痛点,可是DBA是怎么做的呢?小公司没有DBA,作为开发我们的责任就更大了。那么我们怎么才能安全的加个索引呢?今天,我们通过模拟案例以及原理分析,去弄清楚MySQL中DDL的风险,以及如何避免事故发生。准备软件以及项目 安装本地版本MySQL。 一个简单的增删改查项目。 使用JMeter进行并发请求测试。 创建转载 2020-07-29 10:14:59 · 313 阅读 · 0 评论 -
面试官问:MySQL 的自增 ID 用完了,怎么办?
既然这块知识点不清楚,那回头就自己动手实践下。首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。createtablet0(idintunsignedauto_incrementprimarykey);insertintot0values(null);通过show命令show create table t0;查看表情况CREATETABLE`t0`(`id`int(10)unsignedNOTNULLAUTO_INCREME...转载 2020-07-24 07:41:47 · 304 阅读 · 0 评论 -
神奇的 SQL,Group By 真扎心,原来是这样!
作者:青石路cnblogs.com/youzhibing/p/11516154.htmlGROUP BY 后 SELECT 列的限制标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。我们来看个例子:我们有 学生班级表(tbl_student_class) 以及 数据如下 :DROPTABLEIFEXISTStbl_student_class;CRE...转载 2020-07-19 20:24:14 · 224 阅读 · 0 评论 -
面试官:数据量很大,分页查询很慢,有什么优化方案?
当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。准备工作为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含tex.转载 2020-07-06 14:01:06 · 444 阅读 · 1 评论 -
为什么大家都说 SELECT * 效率低?
版权声明:本文为优快云博主「_陈哈哈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/qq_39390545/article/details/106766965面试官:“小陈,说一下你常用的SQL优化方式吧。”陈小哈:“那很多啊,比如不要用SELECT *,查询效率低。巴拉巴拉...”面试官:“为什么不要用SELECT *?它在哪些情况下效率低呢?”陈小哈:“SELECT * 它好像比写指定列名多一次全.转载 2020-07-01 16:38:31 · 306 阅读 · 0 评论 -
explain都不懂,还好意思说会SQL调优?
作者 |Mr林_月生来源 |https://urlify.cn/rUVBJvmysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。explain出来的信息有10列,文章主要介绍type、key、Extra这几个字段。演示中涉及到的表结构如下:CREATETABLE`dept_desc`(`dept_no`char(4)NOTNULL,`dept_name`varchar(40)...转载 2020-06-17 15:14:39 · 357 阅读 · 0 评论 -
你还在 select * 吗?
应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。技巧1 比较运算符能用 “=”就不用“<>”“=”增加了索引的使用几率。技巧2 明知只有一条查询结果,那请使用 “LIMIT 1”“LIMIT 1”可以避免全表扫描,找到对..转载 2020-06-15 19:42:33 · 201 阅读 · 0 评论 -
区块链,一个糟糕的数据库
小仙女是龙泉寺俗家弟子,庙里财务系统就是小仙女开发的,也一直给庙里远程维护着数据库。小仙女今天得到通知,要做区块链经书研习,一大早就赶路,刚过响午就到了山上,这刚到山门口,就看到快70岁的慧能师叔拿了本《区块经》正在摇头晃脑的品读,看着师叔脑袋晃出了波动性的效果,小仙女心想:出家前师叔好像在欧洲跟随玻儿研习量子力学。小仙女:师叔,区块经,是讲什么的?老和尚:讲区块链小仙女:区块链是什么?老和尚:一个类型的数据库,可以叫区块链数据库。小仙女:数据库?老和尚:那考考你,关系数据库..转载 2020-06-15 19:12:37 · 335 阅读 · 0 评论 -
为什么 SQL 语句不要过多的 join?
作者:柯三链接:juejin.im/post/5e0443ae6fb9a0162277a2c3送分题面试官:有操作过Linux吗?我:有的呀面试官:我想查看内存的使用情况该用什么命令我:free或者top面试官:那你说一下用free命令都可以看到啥信息我:那,如下图所示 可以看到内存以及缓存的使用情况 total 总内存 used 已用内存 free 空闲内存 buff/cache 已使用的缓存 avaiable 可用内存...转载 2020-06-10 11:33:15 · 645 阅读 · 0 评论 -
神仙打架:PG 和 MySQL 到底哪个更好用?
概述本文介绍MySQL和PostgreSQL的一些特性对比,让大家了解二者的优劣,更好的做出选择。当前国内的现状,互联网公司使用MySQL的较多,PostgreSQL的使用比例反而不高,但相信看到PG的新特性后,你会爱上她。当然MySQL作为最流行的数据库,依然会吸引大部分人的眼球。PostgreSQL标榜自己是世界上最先进的开源数据库,甚至PG粉丝或者一些PGER宣称,她可以和Oracle相媲美(虽然PG很强大,但是和Oracle还是有差距的,当然PG优势也是显而易见的),而且没有那么昂贵的价格和转载 2020-06-09 09:08:34 · 946 阅读 · 0 评论 -
SQL 进阶技巧(下)
上文我们简述了 SQL 的一些进阶技巧,一些朋友觉得不过瘾,我们继续来下篇,再送你 10 个技巧一、 使用延迟查询优化 limit [offset], [rows]经常出现类似以下的 SQL 语句:SELECT*FROMfilmLIMIT100000,10offset 特别大!这是我司出现很多慢 SQL 的主要原因之一,尤其是在跑任务需要分页执行时,经常跑着跑着 offset 就跑到几十万了,导致任务越跑越慢。LIMIT 能很好地解决分页问题,但如果 offset 过...转载 2020-05-28 14:57:54 · 300 阅读 · 0 评论 -
科普| 什么是图数据库?
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。世界上很多著名的公司都在使用图数据库。比如: 社交领域:Facebook, Twitter,Linkedin用它来管理社交关系,实现好友推荐 零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验 金融领域:摩根大通,...转载 2020-05-28 14:47:21 · 735 阅读 · 0 评论 -
SQL 进阶技巧(上)
由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL 的一些进阶使用技巧 SQL 的优化方法 SQL 的书写规范在介绍一些技巧之前,有必要强调一下规范,这一点我发现工作中经常被人忽略,其实遵循好的规范可读性会好很多,应该遵循哪些规范呢1、 表名要有意义,且标准 SQL 中规定表名的第一个字符应该是字母。2、注释,有单行注转载 2020-05-28 10:39:58 · 372 阅读 · 0 评论 -
数据库里账号的密码,这样存放最安全!
作者:小蒋不素小蒋来源:cnblogs.com/xjnotxj/p/12716981.html最早在大学的时候,只知道用 MD5 来存用户的账号的密码,但其实这非常不安全,而所用到的哈希函数,深入挖掘,也发现并不简单……一、普通的 Hash 函数哈希(散列)函数是什么就不赘述了。1、不推荐RC4, MD4, MD5, SHA-0, SHA-1, DES, 2DES 等2、推荐SHA-2(SHA-256, SHA-384, SHA-512)、SHA-3、Blake2 等.转载 2020-05-26 14:56:14 · 1637 阅读 · 0 评论 -
一入职!就遇到MySQL亿级大表优化....
作者丨jia-xin出处:https://www.cnblogs.com/YangJiaXin/p/10828244.html“前段时间刚入职一家公司,就遇到了 MySQL 亿级大表优化这事!图片来自 Pexels背景XX 实例(一主一从)xxx 告警中每天凌晨在报 SLA 报警,该报警的意思是存在一定的主从延迟。(若在此时发生主从切换,需要长时间才可以完成切换,要追延迟来...转载 2020-04-21 17:11:16 · 278 阅读 · 0 评论 -
慢查询优化,我终于在生产踩到了这个坑!!
为什么会想取这样一个标题,因为看了理论上的慢查询优化,今天!!!终于在生产上实战了。一、慢sql一问题发现将应用发布到生产环境后,前端页面请求后台API返回数据,发现至少需要6s。查看到慢sql:复现慢sql执行sql:selectcount(*)fromsync\_block\_datawhereunix\_timestamp(sync\_dt)>=...转载 2020-04-21 15:52:47 · 327 阅读 · 0 评论 -
强!分库分表与分布式数据库技术选项分析
最近经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好坏其实有失公允。本文通过对两种模式关键特性实现原理对比,希望可以尽可能客观、中立的阐明各自真实的优缺点以及适用场景。NewSQL数据库先进在哪儿?首先关于“中间件+关系数据库分库分表”算不算NewSQL分...转载 2020-04-21 13:35:25 · 765 阅读 · 0 评论 -
一条简单的更新语句,MySQL是如何加锁的?
看如下一条sql语句:#tableT(idint,namevarchar(20))deletefromTwhereid = 10;MySQL在执行的过程中,是如何加锁呢?在看下面这条语句:select*fromTwhereid=10;那这条语句呢?其实这其中包含太多知识点了。要回答这两个问题,首先需要了解一些知识。相关知识介绍多...转载 2020-04-20 14:10:17 · 421 阅读 · 0 评论 -
Spring Boot 数据库连接池入门
本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-19 目录。原创不易,给点个 Star 嘿,一起冲鸭!1. 概述在我们的项目中,数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中,主要是 Druid ,为监控而生的数据库连接池。 HikariCP ,号称性能最好的数据库连接池。...转载 2020-04-20 14:03:49 · 4490 阅读 · 0 评论 -
绝了!一个妹子 rm -rf 把公司整个数据库删没了
作者:zhouyu链接:cnblogs.com/zhouyu629/p/3734494.html经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。01 事故背景安排一个妹子在一台生产服务器上安装 Oracle,妹子边研究边安装,感觉装的不对,准备卸载重...转载 2020-04-03 17:53:38 · 431 阅读 · 0 评论 -
如何快速向数据库插1000万数据?4种方法对比,它简单却速度最快
前言一直有一种说法:批量插入大量数据到MySQL数据库,不要使用Mybatis、Hibernate之类的ORM框架,原因一般都是说性能不好,至于为什么不好好像没几个人能讲清楚的。批量插入大量数据最优的方式是什么?网上也是众说纷纭。不如自己动手测试一下吧!场景介绍前几天公司项目进行压力测试,测试某个功能在大数据量(千万级)的情况下是否能够正常运行,可是项目还没有正式上线运营,数据库里...转载 2020-03-21 16:33:13 · 18999 阅读 · 5 评论 -
8 种最坑的 SQL 错误用法,你有没有踩过坑?
01、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。好吧,可能90%以上的 DBA 解决该问题就到此为止。但当 LIMIT 子句变成 “LIMIT 1000000,10” 时,程序员仍然会抱怨:我...转载 2020-03-20 16:06:07 · 235 阅读 · 0 评论 -
支撑日活百万用户的高并发系统,应该如何设计其数据库架构?
“这篇文章,我们来聊一下对于一个支撑日活百万用户的高并系统,他的数据库架构应该如何设计?看到这个题目,很多人第一反应就是:分库分表啊!但是实际上,数据库层面的分库分表到底是用来干什么的,他的不同的作用如何应对不同的场景,我觉得很多同学可能都没搞清楚。(1)用一个创业公司的发展作为背景引入假如我们现在是一个小创业公司,注册用户就20万,每天活跃用户就1万,每天单表数据量就1...转载 2020-03-20 16:00:15 · 795 阅读 · 0 评论 -
不要再问了,数据库不建议上Docker
前言近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,小编整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发...转载 2020-03-20 15:46:57 · 5083 阅读 · 0 评论 -
高频面试题:如何保证缓存与数据库的双写一致性?
分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?Cache Aside Pattern最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新...转载 2020-03-17 12:00:10 · 333 阅读 · 0 评论 -
一次 Druid 连接池泄露引发的血案!
最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是Druid 连接池泄露引发的血案。。异常日志如下:ERROR-com.alibaba.druid.pool.GetConnectionTimeoutException:waitmillis60000,active50,maxActive50,creating0atcom.aliba...转载 2020-03-14 11:09:26 · 2959 阅读 · 0 评论 -
45岁的 SQL 语言要被淘汰了?
在 SQL 被引入的 45 年中,它经历了许多数据库的诞生和消亡,也经历了许多数据处理方式的诞生和消亡。以下为译文:四十五年前,两位年轻的IBM研究人员在数据库上提出了一种新的语言,这是一种关系型语言,它奉行一切数据可以被声明性地操作和容易操作的思想。自Don Chamberlin和Ramond Boyce出版《SEQUEL:结构化英语查询语言》一书后的几年里,关系模型和SQL已经...转载 2020-03-11 16:36:08 · 522 阅读 · 0 评论 -
单列索引和联合索引,有什么区别?
作者:深寒丶来源:blog.youkuaiyun.com/abysscarry/article/details/80792876背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为 2 个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。一、联合索引测试注:Mysql 版本为 5.7.20创建测试表(表记录...转载 2020-02-14 11:58:48 · 1560 阅读 · 0 评论