01 2019 档案
发表于 2019-01-15 09:01阅读:1708评论:2推荐:0
摘要:一. 回忆主从复制的一些缺点 上节说到主从复制的一些问题 我们再来回忆一下 主从复制,增加了一个数据库副本,从数据库和主数据库的数据最终会是一致的 之所以说是最终一致,因为mysql复制是异步的,正常情况下主从复制数据之间会有一个微小的延迟 通过这个数据库副本看似解决了数据库单点问题,但并不完美 因
阅读全文 »
发表于 2019-01-15 09:01阅读:2533评论:0推荐:1
摘要:如何进行读写分离 由开发人员根据所执行的SQL类型连接不同的服务器 由数据库中间层实现读写分离 读写分离时,需要注意,对于实时性要求比较高的数据,不适合在从库上查询(因为主从复制存在一定延迟(毫秒级)),比如库存就应该在主库上查询,如果放在从库上查询,可能会存在超卖的情况 由开发人员根据所执行的SQ
阅读全文 »
发表于 2019-01-13 14:08阅读:2874评论:0推荐:8
摘要:一. 单个数据库服务器的缺点 数据库服务器存在单点问题 数据库服务器资源无法满足增长的读写请求 高峰时数据库连接数经常超过上限 二. 如何解决单点问题 增加额外的数据库服务器,组建数据库集群 同一集群中的数据库服务器需要具有相同的数据 集群中的任一服务器宕机后,其它服务器可以取代宕机服务器 三. M
阅读全文 »
发表于 2019-01-11 09:12阅读:3246评论:0推荐:0
摘要:对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复 一. 备份的分类 1.按
阅读全文 »
发表于 2019-01-10 09:21阅读:4885评论:3推荐:1
摘要:一. 设置方法 使用慢查询日志里捕获 启用之前需要先进行一些设置 方法一:全局变量设置 设置慢查询日志的日志文件位置 set global slow_query_log_file = "D:/slow_log/slow_log.log" ; 设置是否对未使用索引的SQL进行记录 set global
阅读全文 »
发表于 2019-01-09 18:06阅读:10331评论:0推荐:0
摘要:1. 问题 由于在http请求头的头部中设置了一些自定义字段,刚好这些字段中含有下划线,比如bundle_name这种,后端在进去获取头部信息时,发现取不到对应的值 2. 原因及解决办法 分析 首先看一段nginx源码 这里有一个关键变量:allow_underscores,是否允许下划线。 原来n
阅读全文 »
发表于 2019-01-09 09:20阅读:4650评论:1推荐:5
摘要:1. 如何对评论进行分页展示 一般情况下都是这样写 SELECT customer_id,title,content FROM product_comment WHERE audit_status = 1 AND product_id =199726 LIMIT 0,15;; 我们来看看它的执行计划
阅读全文 »
发表于 2019-01-08 09:22阅读:7621评论:0推荐:2
摘要:一. 执行计划能告诉我们什么? SQL如何使用索引 联接查询的执行顺序 查询扫描的数据函数 二. 执行计划中的内容 SQL执行计划的输出可能为多行,每一行代表对一个数据库对象的操作 1. ID列 ID列中的如果数据为一组数字,表示执行SELECT语句的顺序;如果为NULL,则说明这一行数据是由另外两
阅读全文 »
发表于 2019-01-07 13:21阅读:7184评论:0推荐:0
摘要:1. 确认MySQL服务器是否支持分区表 命令: show plugins; 2. MySQL分区表的特点 在逻辑上为一个表,在物理上存储在多个文件中 HASH分区(HASH) HASH分区的特点 根据MOD(分区键,分区数)的值把数据行存储到表的不同分区中 数据可以平均的分布在各个分区中 HASH
阅读全文 »
发表于 2019-01-07 13:20阅读:4948评论:1推荐:1
摘要:一. 用户实体 1. 用户登录表(customer_login) CREATE TABLE ( int unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID', varchar(20) NOT NULL COMMENT '用户登陆名', char(32) NO
阅读全文 »
发表于 2019-01-04 13:23阅读:19316评论:25推荐:28
摘要:数据库命令规范 1. 所有数据库对象名称必须使用小写字母并用下划线分割 2. 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3. 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4. 临时库表必须以tmp_为前缀并以日期为后缀,备
阅读全文 »