随笔分类 - 数据库
摘要:MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库。 它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型
阅读全文
摘要:什么样的数据适合缓存? 分析一个数据是否适合缓存,我们要从访问频率、读写比例、数据一致性等要求去分析. 数据访问频率越高 数据读写比例:读多写少, 数据一致性要求较低 缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到
阅读全文
摘要:redis的单线程模型 redis使用文本事件处理器file event handler ,整个文件事件处理器是单线程的, 所以才叫做单线程模型,他采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器进行处理 文件事件处理器的结构包含4个部分 多个socket
阅读全文
摘要:redis分布式映射算法 一致性Hash算法的原理和实现 为了解决分布式系统中的负载均衡的问题 背景问题 有N台服务器提供缓存服务,需要对服务器进行负载均衡,将请求平均发到每台服务器上,每台服务器负载1/N的服务 硬Hash映射: 将每台服务器结点进行编号,0到N-1,Key%N就是映射到的服务器结
阅读全文
摘要:MySQL中的聚集索引和辅助索引 当你定义一个主键时,innodb存储引擎就把他当做聚集索引 如果你没有定义一个主键,则innodb定位到第一个唯一索引,且改索引的所有列值均为非空,就将其当做聚集索引. 如果表没有主键或者合适的唯一索引,innodb会产生一个隐藏的行ID值6字节的ID聚集索引 补充
阅读全文
摘要:关于mysql的自增测试,innodb和myisam下的不同表现 innodb引擎下的自增id测试 1 innodb引擎下,如果显示insert了最大值,那么下次的AUTO_INCREMENT值就是这个最大值+1 2 如果这时候再把其中一个id值update成10,那么下次的AUTO_INCREME
阅读全文
摘要:MySQL的四种事务隔离级别 一:事务的基本要素 原子性(Atomic):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样. 一致性(consistent):事务开始前和结束后,数据库的完整性约束没有被破坏
阅读全文
摘要:MySQL连接处理方式及最佳并发连接数设置 mysql是单进程,多线程的架构,通过创建多个线程来服务不同的用户连接,通常情况下,随着用户连接数的增加,mysql内部用于处理用户连接的线程也会同步的增长,在一定范围内,增加用户的并发连接,对提高系统的吞吐量有一定的帮助,然而用户并发连接数超过某个阈值,
阅读全文
摘要:一 Django的数据库配置 Django默认使用sqlite: 再添加一个数据库: 如果想要使用mysql,则进行如 如果是在Windows下进行开发需要在项目文件下的__init__.py中配置 显示SQL语句 ,ORM是高层的面向对象的操作,转换为低层的SQL语句,如果想在终端打印对应的SQL
阅读全文
摘要:数据库的严格模式 查看当前是否是严格模式 修改当前为严格模式 1. 2. 通过修改MySQL的配置文件,在配置文件中查找sql-mode,将此行修改成为:
阅读全文
摘要:数据库导入导出命令 1.导出整个数据库 mysqldump -u用户名 -p密码 数据库名 > 导出的文件名 例如:C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql 2.导出一个表,包括表结构和数据 mysqldump
阅读全文
摘要:什么是索引? 索引在mysql中也叫是一种'键',是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响越发重要. 索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。索引相当于字典的音序表,如果要查某
阅读全文
摘要:触发器:是一个特殊的存储过程,它是mysql在insert,update,delete的时候自动执行的代码块. 在一个语句执行后,自动触发的事件 函数:mysql中提供了许多内置函数,还可以自定义函数(实现程序员需要的sql逻辑处理) 自定义函数创建语法 视图:视图是由查询结果形成的一张虚拟表,是表
阅读全文