1.Spark SQL出现的 原因是什么? 随着Spark的发展,对于野心勃勃的Spark团队来说,Shark对于Hive的太多依赖(如采用Hive的语法解析器、查询优化器等等),制约了Spark的One Stack Rule Them All的既定方针,制约了Spark各个组件的相互集成,所以提出 ...
分类:
数据库 时间:
2021-05-24 03:53:49
阅读次数:
0
为什么查询速度会慢 大量为了检索数据到存储引擎的调用,以及调用后的数据处理,包括排序和分组。 在完成这些任务的时候,查询需要在不同的地方花费时间,包括网络、CPU计算,生成统计信息和执行计划、锁等待等操作,尤其是向底层存储引擎检索数据的调用操作。优化和查询的目的就是减少和消除这些操作所花费的时间。 ...
分类:
数据库 时间:
2021-04-27 15:01:07
阅读次数:
0
【建表原则】 定长与边长相分离 常用与不常用相分离 适当反范式 【列类型选择】 int > date,time > enum,char > varchar > blob,text 字符串相对于整形要考虑字符集和校对集 尽量不用NULL 【btree索引 hash索引】 有必要使用联合索引(多列索引、 ...
分类:
数据库 时间:
2021-04-12 12:15:31
阅读次数:
0
mysql默认启动,会占用四百多M内存,也可以优化 打开 /etc/my.cnf skip-locking #避免MySQL的外部锁定,减少出错几率增强稳定性。 skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注 ...
分类:
数据库 时间:
2021-04-12 11:45:18
阅读次数:
0
参考 https://www.cnblogs.com/php826291930/p/11242436.html 为什么要做读写分离? mysql的读写速度不一致,读的速度远超写入速度,如果同时将读写任务放到同一台服务器,在访问量巨大的情况下很容易影响速度。 所以当数据库的读取量远超写入的时候,可以考 ...
分类:
数据库 时间:
2021-02-20 12:23:03
阅读次数:
0
一、EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。 ...
分类:
数据库 时间:
2021-01-18 11:25:16
阅读次数:
0
性能: COUNT(*)=COUNT(1)>COUNT(id) 可能你会疑惑为什么 COUNT (id) 会比前两者慢呢,因为除了计数之外,COUNT (id) 需要把主键的值取出来 通过explain查看执行计划发现: COUNT (*) 被 MySQL 的查询优化器改写成了 COUNT (0), ...
分类:
其他好文 时间:
2021-01-14 11:00:38
阅读次数:
0
几种获取记录数的方法 count(*): MySQL 优化过,扫描的行数小于总记录数。执行效率高。 count(1): 遍历所有记录,不取值,对每行尝试添加一个 “1” 列,如果不为 null,就计入累加(引擎层)。 count(主键): 遍历所有记录,并把每个记录的 id 取出返回 Server ...
分类:
其他好文 时间:
2021-01-07 11:59:09
阅读次数:
0
SQL语句中IN包含的值不应过多,不能超过200个,200个以内查询优化器计算成本时比较精准,超过200个是估算的成本,另外建议能用between就不要用in,这样就可以使用range索引了。 SELECT语句务必指明字段名称:SELECT * 增加很多不必要的消耗(cpu、io、内存、网络带宽); ...
分类:
数据库 时间:
2020-12-22 12:25:55
阅读次数:
0
多个层面思考,优化性能 存储层:存储引擎、字段类型选择、范式设计 设计层:索引、缓存、分区(分表) 架构层:多个mysql服务器设置,读写分离(主从模式) sql语句层:多个sql语句都可以达到目的的情况下,要选择性能高、速度快的sql语句 show engine/G; 显示数据库的使用引擎 1.存 ...
分类:
数据库 时间:
2020-12-19 11:48:14
阅读次数:
1