2021
03-19
03-19
mysql的联合索引(复合索引)的实现
联合索引本文中联合索引的定义为(MySQL):ALTERTABLE`table_name`ADDINDEX(`col1`,`col2`,`col3`);联合索引的优点若多个一条SQL,需要多个用到两个条件SELECT*FROM`user_info`WHEREusername='XX',password='XXXXXX';当索引在检索password字段的时候,数据量大大缩小,索引的命中率减小,增大了索引的效率。符合索引的索引体积比单独索引的体积要小,而且只是一个索引树,相比单独列的索引要更加的节省时间复杂度和空...
继续阅读 >
索引下推(indexconditionpushdown)简称ICP,在Mysql5.6的版本上推出,用于优化查询。在不使用ICP的情况下,在使用非主键索引(又叫普通索引或者二级索引)进行查询时,存储引擎通过索引检索到数据,然后返回给MySQL服务器,服务器然后判断数据是否符合条件。在使用ICP的情况下,如果存在某些被索引的列的判断条件时,MySQL服务器将这一部分判断条件传递给存储引擎,然后由存储引擎通过判断索引是否符合MySQL服务器传递的条件...
这个可能是容易被忽略的问题,首选我们要清楚:MySQL中,AND的执行优先级高于OR。也就是说,在没有小括号()的限制下,总是优先执行AND语句,再执行OR语句。比如:select*fromtablewhere 条件1AND 条件2OR条件3等价于select*fromtablewhere (条件1 AND 条件2) OR 条件3select*fromtablewhere 条件1AND 条件2OR 条件3AND条件4等价于select*from...
我们可以通过mysql命令查看mysql的安装路径:#以下两个sql任意一个可查询select@@basedirasbasePathfromdual;showvariableslike'%basedir%';上面可以看到基础的安装路径,查看数据库data的路径怎么看,很简单,把上面的参数变量换成datadir即可:#以下查询任意一个均可select@@datadirasdataPathfromdual;showvariablesLike'%datadir%';当然上面是基于能登录到mysql窗口下查看才能操作,那么朋友会问,如果也...
MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧:什么是触发器触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编...
1.引入mybatis-plus相关包,pom.xml文件2.配置文件application.property增加多库配置mysql数据源配置spring.datasource.primary.jdbc-url=jdbc:mysql://xx.xx.xx.xx:3306/portal?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=utf8&serverTimezone=GMT%2B8spring.datasource.primary.username=rootspring.datasource.primary.password=rootspring...