【数据存储】
kevin.yau
这个作者很懒,什么都没留下…
展开
-
Specified key was too long; max key length is 767 bytes | VARCHAR(450)问题
问题Specified key was too long; max key length is 767 bytes原因建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000。也就是因为给字符串字段添加唯一索引时对字符的长度是有限制。很明显我在设计时就给一个长度,太长了解决方案1.调整字段的字符串长度 VA...原创 2020-04-24 15:46:45 · 225 阅读 · 0 评论 -
ER图和EER图的区别
ER图ER图,是一种逻辑模型,与具体落地的数据库无关,长这样的EER图是一种物理模型,与落地的数据库(Mysql)相关,长这样的总结一般做数据设计的时候会经过一下这几个流程0.规划1.需求分析2.概念设计3.逻辑设计4.物理设计在做概念设计和逻辑设计时会用到ER图,具体物理设计的时候会用到EER图,只是不同阶段的产物。...原创 2020-04-24 09:46:22 · 14228 阅读 · 2 评论 -
MySQL存储过程与定时任务-介绍与实践
什么是存储过程存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称来执行这些sql语句命令.存储过程是存储在数据库中的一组SQL语句存储过程是mysql中定义的一个方法可通过调用方法名来调用改方法存储过程关联是一个数据库既一个Schema存储过程的结构DROP PROCEDURE IF EXISTS ${proceName}; DELIMITER //CREAT原创 2017-12-04 16:15:17 · 1207 阅读 · 0 评论 -
Mysql5.7在CentOS7上实现主从复制
实现的原理MySQL实现的机制 (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); (2) slave将master的binary log events拷贝到它的中继日志(relay log); (3) slave重做中继日志中的事件,将改变反映它自己的数据。具体实现环境说明MySQL5.7原创 2017-11-22 11:21:20 · 2029 阅读 · 0 评论 -
CentOS中Mysql定时备份
创建脚本vim bk_db.sh#!/bin/bash#这里的意思是调用MySQL的mysqldump 工具备份,并把备份的数据压缩mysqldump zxdb | gzip > /mnt/database_dump/db_$(date +%Y%m%d_%H%M%S).sql.gz给脚本运行权限chod u+x bk_db.sh把脚本设置为定时任务进入定时任务编辑crontab -e写入#下面原创 2017-10-16 12:22:33 · 382 阅读 · 0 评论 -
数据库设计
设计分隔本篇文章设计风格:性能优先,业务优先 反第三范式:表数据字段冗余可以提升查询性能 不使用外键约束,如果数据存在外键关系,在程序层面实现:外键会保证一定的数据完整性,但是每次修改都需要检查外键约束,在高并发场景下会拖慢数据库性能。命名规范全部采用小写单词用下划线分隔:命名应使用富有意义的英文词汇,多个单词组成的,中间以下划线分割长度不超过15个字符:命名长度以不超过 15 个字符为宜(避免原创 2017-08-22 15:58:43 · 265 阅读 · 0 评论 -
Windows系统安装Mysql前运行库依赖
问题曾几何时在Windows上安装MySQL老是安装出现缺运行库的情况,然后就会急急忙忙的上各大网站去找运行库。最后一天下来,就这样浪费了。 例如这货Visual Studio 2013 Redistributable解决方法这里给个一劳永逸的解决方法,就是这个微软常用运行库合集。使用很简单,一键式安装 下载地址原创 2017-08-05 11:47:46 · 6118 阅读 · 2 评论 -
MySql触发器简单介绍与实例
简单介绍MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。基本语法CREATE TRIGGER <触发器名称> –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | AFTER } –触发器有执行的时间设置:可以设置为事件发生转载 2017-06-19 11:01:51 · 360 阅读 · 0 评论 -
Redis 概述(笔记)
是什么非关系型数据库,nosql 1. 键值存储数据库(使用哈希表)-redis,voldemort,Oracle bdb 2.列存储数据库,键指向多列,可用于分布式存储海量数据-HBase ,Riak 3.文档型数据库,比键值数据库效率更高-CouchDB,MongoDB 4.图形数据库,图形模型-Neo4J,InfoGrid,InfiniteGraphRedis和MamcacheMamc原创 2017-04-09 11:41:09 · 516 阅读 · 0 评论 -
Redis CentOS单点部署与自启动
前提准备下载redis 下载地址CentOS安装gccyum -y install gcc部署步骤1 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夹下2 进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz3 进入到redis-3.0.0目录下,进行编译 make (如果无法make,使用命令:m原创 2017-04-20 16:52:06 · 436 阅读 · 0 评论 -
Redis CentOS集群部署
原始集群搭建(3主3从)*注:正常来讲是每个节点都在一台机子上,当下只在单台虚拟机中实现集群模拟。环境准备*注:生产环境实际部署参考单节点部署。传送门1.创建集群目录mkdir -p /usr/local/redis-cluster cd /usr/local/redis-clustermkdir 7001mkdir 7002mkdir 7003mkdir 7004mkdir 7005m原创 2017-04-20 18:41:53 · 325 阅读 · 0 评论 -
SQL执行顺序
标准的SQL 的解析顺序为:FROM 子句 组装来自不同数据源的数据WHERE 子句 基于指定的条件对记录进行筛选GROUP BY 子句 将数据划分为多个分组FUNCTION( ) 使用聚合函数进行计算HAVING子句筛选分组计算所有的表达式ORDER BY对结果集进行排序原创 2017-05-05 18:37:51 · 264 阅读 · 0 评论 -
SQL练习+答案(一)
1. 表结构表名:购物信息 购物人 商品名称 数量 A 甲 2 B 乙 4 C 丙 1 A 丁 2 B 丙 5…… (其他用户实验的记录大家可自行插入)2. 问题给出所有购入商品为两种或两种以上的购物人记录3. 答案select * from 购物信息 where 购物人 in (select 购物人 from 购物信息 gr转载 2017-05-05 18:55:18 · 2244 阅读 · 0 评论