分类: mysql

11 篇文章

mysql事务
事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。 基础概念 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL支持事务。 逻辑架构和存储引擎 如上图所示,MySQL服务器逻辑架构从上往下可以分为三…
mysql主从复制
基础思维导图 常见架构 主从复制原理 对于主从来说,通常的操作是主库用来写入数据,从库用来读取数据。这样的好处是通过将读写压力分散开,避免了所有的请求都打在主库上。同时通过从库进行水平扩展使系统的伸缩性及负载能力也得到了很大的提升。 但是问题就来了,读从库时的数据要与主库保持一致,那就需要主库的数据在写入后同步到从库中。如何保持主库与从库的数据一致…
预排序树实现无限极分类
一.概念左右值无限级分类,也称为预排序树无限级分类是一种有序的树状结构于这些树状结构中的每一个节点都有一个 左值 和 右值二.规则每一个 后代节点 的 左值 > 父节点 的 左值每一个 后代节点 的 右值 …
mysql 模糊搜索,多字段模糊搜索
今天做了一个模糊搜索,大概就是一个输入框中输入一个信息,给出相应的结果。这个输入的可能是username,phone,address等等。看到这个需求,信心满满,咔咔的三两分钟搞定,写的大概是如下:SELECT `username`, `contacts_name`, `phone`, `store_id`,…
MySQL存储引擎MyISAM与InnoDB区别总结整理
在MySQL的 可重复读隔离级别 中,是解决了幻读的读问题的。 1. MySQL默认存储引擎的变迁    在MySQL 5.5之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为InnoDB。2. MyISAM与InnoDB存储引擎的主要特点    1)…
mysql的in和exists区别
exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如果exists里的条 件语句不能返回记录行,则当前loop到的这条记录被丢弃,exists的条件就像一个bool条件,当能返回结果集则为true…
mysql配置文件
[client] default-character-set=utf8mb4 #mysqlde utf8字符集默认为3位的,不支持emoji表情及部分不常见的汉字,故推荐使用utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] skip-locking #避免MySQL的外部锁定,减少出错几率…
MySQL优化之推荐使用规范
摘自MySQL优化之推荐使用规范 一、基础规范 使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 表、字段必须加注释 方便他人理解字段意思,在后期维护中非常非常有用,不用去瞎猜这个字段是干嘛的。 不在数据库做…