深入理解MySQL索引底层数据结构
在日常工作中,我们会遇见一些慢SQL,在分析这些慢SQL时,我们通常会看下SQL的执行计划,验证SQL执行过程中有没有走索引。通常我们会调整一些查询条件,增加必要的索引,SQL执行效率就会提升几个数量级。我们有没有思考过,为什么加了索引就会能提高SQL的查询效率,为什么有时候加了索引SQL执行反而会没有变化,本文就从MySQL索引的底层数据结构和算法来进行详细分析。
Wesley13 Wesley13
3年前
SQL优化的一些实用方法
1、任何在where子句中使用isnull或isnotnull的语句优化器是不允许使用索引的。因为只有该字段中有null值,即使创建了索引其实也是没有用的,所以创建索引应该在有值的字段上创建;2、使用该sql语句将不会使用索引:select\fromemployeewherelast\_namelike‘%cliton%';
Wesley13 Wesley13
3年前
MySQL Json函数(5.7以上)
oraclemysql5.7.8之后增加了对json数据格式的函数处理,可更加灵活的在数据库中操作json数据,如可变属性、自定义表单等等都使用使用该方式解决。在创建表时,可以使用“GENERATEDALWAYSAS”与json中的某个字段关联,并创建虚拟字段使json字符串也可以添加索引。创建测试json表
Wesley13 Wesley13
3年前
PHP安全性防范方式
<h2SQL注入</h2<pSQL注入是一种恶意攻击,用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。</p<h4防范方式</h4<ul<li使用mysql\_real\_escape\_string(),或者addslashes()过滤数据</li<li手动检查每一数据是否为正确的数据类型</li<li使用
Wesley13 Wesley13
3年前
sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等
修改字段类型:altertable表名altercolumn待修改字段名待修改字段类型altertableusersaltercolumnuseridvarchar(10)多个字段建立唯一索引createuniqueindex索引名on表名(字段名,字
Wesley13 Wesley13
3年前
2020.01.11 【ABAP随笔】SM30常见增强操作
1.   自动带出描述类型(更新回数据库)我们使用的是在SM30中自动带出销售订单类型的描述首先我们创建一张表和一个维护视图(维护视图的好处就是可以方便增加字段),维护视图中维护标记为R标识字段不可输入 !(https://img2018.cnblogs.com/ibeta/1355674/2
Wesley13 Wesley13
3年前
mysql 更改查询结果追加值,sql多个字段拼接
sql多个字段拼接(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fchenqing24.blog.163.com%2Fblog%2Fstatic%2F84653842012052547526%2F)2012010514:05:47|  分类:数据库(https:
Wesley13 Wesley13
3年前
MySQL开放第三方主机访问权限
1.增加用户外网访问权限(在mysql库user表中插入数据),注意一下host字段INSERTINTOuser(Host,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_
Stella981 Stella981
3年前
Hadoop Hive基础sql语法
1.DDL操作1.建表2.3.创建简单表4.创建外部表5.建分区表6.建Bucket表7.创建表并创建索引字段ds8.复制一个空表9.显示所有表10.按正条件正则表达式显示表11.修改表结构12.表添加一列13.添加一列并增加列字段注释14.更改表名15.删除列16.增加删除分区17.重命名表18.修改列的名字类型位置注
Wesley13 Wesley13
3年前
MySQL数据库优化的八种方式
1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR