Wesley13 Wesley13
2年前
mysql数据库设计规范
一、数据库设计规范1.使用innodb引擎2.数据库和表的字符集统一使用utf83.所有表和字段添加注释4.单表数据量控制<500w5.谨慎使用mysql分区,跨区查询影响性能6.冷热数据分离,缓存7.禁止在数据库中存储图片,文件等大的二进制数据8.禁止在线上做数据库压力测试9.禁止从开发和测试环境直接连
Stella981 Stella981
2年前
Discuz 7.2坑爹集锦
Discuz7.2坑爹集锦SQL篇DZ使用的是MySQL的MyISAM引擎,特点是简单快速,非常适合网络扁平数据。当数据量超过一定规模(大概300万),数据关联复杂(表连接增多)后性能急剧下降。并且在高读写并发时锁表严重(MyISAM是表锁,InnoDB有行锁),甚至导致表损坏。DZ7.2代码中SQL写法存在不标准的问题,虽然不影响执行但对维
Wesley13 Wesley13
2年前
mysql表结构设计(schema design)优化建议
(复制粘贴的时候结构乱了,先这样看吧,后期考虑使用markdown写可能会好些)(以下数据库引擎默认为InnoDB)0命名相关0.1.库表名库名与应用名称尽量一致\阿里推荐\表名,字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只出现数字.\阿里强制\表名不使用复数名词.\阿里强制\表的命名最好加上
Wesley13 Wesley13
2年前
MySql 面试开发技术点汇总
表结构设计1、为什么一定要设一个主键?答:因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键。所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率!2、你们主键是用自增还是UUID?答:肯定答自增啊。innod
Wesley13 Wesley13
2年前
MYSQL做数据仓库的性能瓶颈
缺少hashjoin和parallel这种工具,MYSQL注定不是个合适的数据仓库工具。无论是是myisam还是innodb,在处理一个复杂的SQL查询的时候,并不能发挥多核CPU的性能。只会有一个CPU正在满负荷地运转。所以对于一个分析性数据库而言,MYSQL多核实际上是极大的浪费。MYSQL做查询优化的时候,一个是注意在g
Wesley13 Wesley13
2年前
mysql面试题
MySQL面试索引相关1.什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找.1.索引是个什么样的数据结构呢?索引的数据结构和具体存储引擎的实现有关,在MySQL中使用较多的索引有Hash索引,B树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B树索引.
Wesley13 Wesley13
2年前
mysql 执行流程解析
MySQL可以分为Server层和存储引擎层两部分Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory
Wesley13 Wesley13
2年前
Mysql的学习6____事物,索引,备份,视图,触发器
1.Mysql事务:就是将一组的SQL语句放在一个批次去执行,要是一条语句出错,该批次的SQL语句都会取消执行。Mysql事物处理只支持InnoDB和BDB数据表类型。1.1事物的ACID原则:原子性(Atomic):事物中的SQL语句要么全部执行,要么全不执行,不可能停滞在中间的某个状态,若在执行中发生了错误,会进行事物的回滚(Rol
Wesley13 Wesley13
2年前
MySQL数据库性能优化六大技巧
数据库表表面上存在索引和防错机制,然而一个简单的查询就会耗费很长时间。Web应用程序或许在开发环境中运行良好,但在产品环境中表现同样糟糕。如果你是个数据库管理员,你很有可能已经在某个阶段遇到上述情况。因此,本文将介绍对MySQL进行性能优化的技巧和窍门。1.存储引擎的选择如果数据表需要事务处理,应该考虑使用InnoDB,因为它完全符合ACI
3A网络 3A网络
1年前
MySQL 覆盖索引详解
1.什么是索引?索引(在MySQL中也叫“键key”)是存储引擎快速找到记录的一种数据结构,通俗来说类似书本的目录,这个比方虽然被用的最多但是也是最恰如其当的,在查询书本中的某个知识点不借助目录的情况下,往往都找的够呛,那么索引相较于数据库的重要性也可见一斑。2.索引的有哪些种类?索引的种类这里只罗列出InnoDB支持的索引:主键索引(PRIMAR