以下是广泛使用的30个SQL查询语句优化方法: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,首先应考虑在 where 及 order by 涉及的列上建立索引,避免全表扫描。 3、应尽量避免在 where 子句中对字段进行 n ...
分类:
数据库 时间:
2020-07-11 11:17:01
阅读次数:
75
在MySQL5.1之后InnoDB成为了默认的存储引擎,InnoDB和MyISAM的区别: 事务 外键 磁盘中的文件 锁 主键 全文索引 InnoDB 支持事务 支持外键 .frm(表定义) .ibd(索引) 支持表、行(默认)级锁 必须(聚集索引) 5.7版本之前不支持 MyISAM 不支持事务 ...
分类:
数据库 时间:
2020-07-10 23:53:35
阅读次数:
84
1. DQL语言的学习 ① 基础查询 /* 语法: select 查询列表 from 表名; 特点: ① 通过select查询完的结果 ,是一个虚拟的表格,不是真实存在 ② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数 ③ 可以没有from语句 ④ 先执行from语句,再执行se ...
分类:
数据库 时间:
2020-07-10 19:00:33
阅读次数:
69
mysql 添加字段 ALTER TABLE t_user ADD COLUMN user_age int(11) DEFAULT NULL COMMENT '年龄' AFTER user_email; mysql 修改字段 ALTER TABLE user10 MODIFY email VARCH ...
分类:
数据库 时间:
2020-07-09 15:27:30
阅读次数:
388
最近一直在看《大数据之路:阿里巴巴大数据实践》一书,读完之后感觉受益良多。第一,对于整个大数据的体系有了更多且清晰的认知;第二,对于不同系统的逻辑处理方式给予了引导;第三,毕竟是阿里多年技术的累计产出,而且都是阿里技术大牛写的,干货相当多;最后,如果对于大数据方向想有更深入的了解,推荐阅读本书。 ...
分类:
其他好文 时间:
2020-07-09 01:15:54
阅读次数:
107
近期有个产品的统计信息超过了2000万行,后台的查询直接超时了,单纯sql在命令行执行都需要20s以上。用EXPLAIN后发现因为索引太多这条SQL没有用上计划的索引,更改后直接秒级出结果,下面看看EXPLAIN(Navicat里的解释按钮同样效果)的威力。 explain执行后的效果大致如下: m ...
分类:
数据库 时间:
2020-07-09 00:52:22
阅读次数:
111
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确性和可靠性。 分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空,比如姓名、学号等。 DEFAULT:默认,用于保证该字段有默认的值。 PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空。比如学号、员工编号 ...
分类:
其他好文 时间:
2020-07-08 23:15:08
阅读次数:
96
MariaDB 10.0.8增加了一种新的执行计划——Extended Keys。 它充分利用了InnoDB的隐藏列来做执行计划,因为我们都知道InnoDB的索引组织表会把主键放在最末尾,所以实际上每个索引最后都包含了主键。 打开和关闭这个优化器选项的命令如下: Enable: set optimi ...
分类:
数据库 时间:
2020-07-07 23:34:09
阅读次数:
66
myIsam引擎把一个表的总行数存在了磁盘上,因此执行count(*)会直接返回结果,效率很高 #但是myisam不支持事物 innodb引擎需要把数据一行行从引擎里读出来,然后计数累加。 innodb由于多版本并发控制机制,同一时刻不同回话拿到的结果可能都不相同,所以不能直接将总行数存储在磁盘上。 ...
分类:
数据库 时间:
2020-07-07 19:56:37
阅读次数:
130
// $data=['type'=>'专辑']; 构造数据 // db('book')->insert($data); 添加 // Db::name('book')->insert($data); // $userId = Db::name('book')->getLastInsID();添加主键i ...
分类:
其他好文 时间:
2020-07-07 18:02:42
阅读次数:
57