数据库
文章平均质量分 52
qq827887
程序痞子,代码洁癖,服务器资源吝啬者
展开
-
各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBase
各种nosql数据库的比较Cassandra,MongoDB,CouchDB,Redis,Riak,HBaseCouchDB开发语言:: Erlang主要优点: 数据一致性,易用许可: ApacheProtocol: HTTP/REST适用: 积累性的、较少改变的数据。或者是需要版本比较多的举例: CRM, CMS systems. 允许多站转载 2014-02-16 08:19:34 · 2208 阅读 · 0 评论 -
mysql的逻辑架构
1. 客户端发出请求,首先与服务器上的MYSQL进行链接。2. MYSQL会判断客户端发来的请求语句是否已存在缓存,当缓存存在且没过期,直接返回缓存数据。3. 当缓存不存在时,MYSQL利用解析器将客户端请求进行解析、分析所有的内置函数并进行缓存。存储过程、视图、触发器都在这一步进行处理。4. 将3中的执行结果交给优化器,优化器在优化后交给对应的存储引擎进行处理。 5. 将存储引擎原创 2016-11-27 17:34:50 · 484 阅读 · 0 评论 -
mysql中使用 SHOW PROFILE与 SHOW STATUS做单条语句剖析
使用 SHOW PROFILESHOW PROFILE命令是在mysql5.1以后引入的。来源于MySQL开源社区默认是禁用的,可以通过服务器会话(链接)级别动态修改。mysql> SET profiling = 1;然后,在服务器上执行的所有语句,都会测量其耗费的时间和其他一些查询执行状态变更相关的数据。SHOW PROFILE;原创 2016-12-06 01:58:11 · 1079 阅读 · 0 评论 -
Mysql基准测试工具介绍
集成式测试工具 ab: ab是一个Apache Http服务器基准测试工具。它可以测试HTTP服务器每秒最多可以处理多少请求。如果测试的是Web应用服务,这个结果可以转换成整个应用每秒可以满足多少请求。非常简单的工具,用途也有限,只能针对单个URL进行尽可能快的压力测试。 http_load: 和ab类似,也被设计为对Web服翻译 2016-12-02 03:52:05 · 1552 阅读 · 0 评论 -
Mysql的引擎简单介绍。
Mysql自带引擎MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。重启后表结构保留,数据丢失。Merge:允许MySQL DBA或开发人员将一系列原创 2016-12-01 23:41:46 · 435 阅读 · 0 评论 -
PHP的PDO
1.PDO类PDO类代表一个PHP和数据库之间的连接,PDO类所拥有的方法如下: PDO:构造器,构建一个新的PDO对象。 beginTransaction:开市事务。 commit:提交事务。 errorCode:从数据库返回一个错误代号,如果有的话。 errorInfo:从数据库返回一个含有错误信息的数组,如果有的话。 e原创 2016-06-22 22:46:49 · 360 阅读 · 0 评论 -
mysql高级:数据库优化
数据库优化的基本十条原则。1.尽量避免在列上进行运算,这样会导致索引失效。2.使用JOIN时,应该用小结果集驱动大结果集。同事把复杂的JOIN查询拆分成多个query。因为JOIN多个表时,可能导致更多的锁定和堵塞。 例如: SELECT * FROM A JOIN B ON A.id = B.id LEFT JOIN C ON C.time =原创 2016-06-22 22:39:54 · 447 阅读 · 0 评论 -
mysql高级:主从复制
mysql主从复制 replication复制原理: 1.master做更改数据操作(insert、update、delete)时,操作记录在binlog日志中。 2.slave读取master的binlog日志文件,分析并生成relaylog并将操作复制到salve。实现步骤: 1.master服务器配置binlog原创 2016-06-22 22:38:19 · 368 阅读 · 0 评论 -
mysql高级:视图
视图(view) view又被称为虚拟表,view是sql的查询结果。特性: 1.修改原始表中的数据时,视图也会变化。 2.修改视图数据时,原始表中的数据也会变化(自定义列数据的情况除外)。用处: 1:权限控制时可以用 2:简化复杂的查询创建视图: create view 表名 as s原创 2016-06-22 22:37:28 · 306 阅读 · 0 评论 -
mysql高级:权限检查原理
用户连接到mysql,并做各种查询.[用户] [服务器] 分为2个阶段 1.是否有权限连接上来. 2.是否有权限执行此操作(select、update、insert等). 1:判断用户是否有权限连接上来? 依据3个参数: 管理员来源IP 管理员账号原创 2016-06-22 22:34:56 · 329 阅读 · 0 评论 -
mysql高级:event触发器
基本概念 从Mysql5.1版本开始引入Event概念。既“时间触发器”,与trigers的时间出发不同,event类似于linux croutad计划任务,用于时间出发。通过单独或调用procedure存储过程使用,在某一特定的时间点,触发相关的sql语句或存储过程。适用范围 对于每个一段时间就有固定需求的操作,如创建表、删除数据等操作,可以使用e原创 2016-06-22 22:27:50 · 428 阅读 · 0 评论 -
mysql高级:存储过程
mysql存储过程 procedure 在一些编程语言中,如pascal,有一个概念叫"过程" procedure,和"函数" function(PHP中,没有过程,只有函数)。过程:没有返回值的"函数"函数:是一个有返回值的"过程"我们把若干条sql封装起来,起个名字 - 过程把此过程存储的数据库中 - 存储过程存储过程的创建原创 2016-06-22 22:32:41 · 503 阅读 · 0 评论 -
mysql高级:触发器
有时会碰到表的某些数据改变,希望同时引起其他相关数据改变的需求,利用触发器就可以满足这样的需求。它能在表中的某些特定数据变化时自动完成某些查询。运用触发器不仅可以简化程序,而且可以增加程序的灵活性。* 触发器是一类特殊事务,可以监视某种数据操作(insert、update、delete),并出发相关操作(insert、update、delete)触发器创建语法原创 2016-06-22 22:31:29 · 431 阅读 · 0 评论 -
mysql高级:表分区
所谓分区,就是把一个数据表的文件和索引分散存储在不同的无力文件中。mysql5.1以上版本才支持分区。 使用如下命令确认版本是否支持分区: show variables like '%partition%'; Mysql支持的分居类型包括Range、List、Hash、Key,其中Range最常用: CRE原创 2016-06-22 22:29:16 · 293 阅读 · 0 评论 -
mysql 当字段值为NULL时,显示为特定值
IFNULL(字段名,值)今天面试碰到一个SQL问题表 T(a,b,c) ,查询出A,B,C的值,当A的值是NULL时,显示为 0SELECT ifnull(a,0) , b , c FROM T ;原创 2014-03-20 22:11:28 · 6654 阅读 · 1 评论 -
MySQL必知必会,要点记录
第07章 过滤数据 IN操作符一般比OR操作符清单更快! MySQL中的NOT : MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件取反有很大的差别。 第08章 用通配符进行过滤 LIKE的通配符 有 “%”和“_”。 “%”通配符,匹配0到n个任意字符,不包括null。 “_”通配符原创 2014-03-16 21:50:29 · 717 阅读 · 0 评论 -
MySQL InnoDB 高性能应用的一些知识要点
通常我们在项目中,MySql遇到瓶颈有几大因素。1. 记录条数。2. 数据特性。3. 操作时机。4. 热点数据。5. 配置。6. 硬件。下面针对这6大因素说一下常见的优化、配置。1. 记录条数当表大小小于InnoDB_buffer_pool时,增提性能会随着表记录增加而略微降低性能。但不会降低很多,总体性能差别不大。当表大小大于InnoDB_原创 2017-03-07 19:08:45 · 353 阅读 · 0 评论