数据库技术
文章平均质量分 79
水木米
一个关注互联网乐于学习积极乐观的程序员
展开
-
MySQL教程之concat以及group_concat
本文中使用的例子均在下面的数据库表tt2下执行:一、concat()函数1、功能:将多个字符串连接成一个字符串。2、语法:concat(str1, str2,...)返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。3、举例:例1:select concat (id, name, score) as info from tt2;中间有一行为null是因为tt2表中有一行的score值为null。例2:在例1的结果中三个字段id,n.原创 2020-11-06 09:42:48 · 353 阅读 · 0 评论 -
InnoDB recovery详细流程
InnoDB如果发生意外宕机了,数据会丢么?对于这个问题,稍微了解一点MySQL知识的人,都会斩钉截铁的回答:不会!为什么?他们也会毫不犹豫的说:因为有重做日志(redo log),数据可以通过redo log进行恢复。回答得很好,那么InnoDB怎样通过redo log进行数据的恢复的,具体的流程是怎样的?估计能说清楚这个问题的人剩的不多了,更深入一点:除了redo log,InnoDB在恢复过转载 2017-11-28 18:04:36 · 1269 阅读 · 0 评论 -
Mysql源代码分析系列(1): 编译和调试--转载
拖了很久了Mysqld源代码分析从今天开始吧,随着我阅读的进度推进,我会写一些文章记录自己的心得,但是不保证一定会写。其实也不保证一定有时间来完整的阅读所有的代码。阅读代码的目的有如下几点:通过了解Mysql的架构,学习大型系统软件的体系结构,希望自己在工作的时候也能应用到其中的一些技术通过阅读代码,能够更好的理解Mysql的使用,也能做更深入的应用,比如性能调优,加入自己需要的功能和模块转载 2017-10-29 23:00:59 · 613 阅读 · 0 评论 -
MySQL select实现原理
工作中需要借鉴MySQL对于select的具体实现,在网上搜了很久,几乎都是介绍原理的,对于实现细节都没有介绍,无奈之下只得自己对着源码gdb。结合以前对于sql解析的了解,对mysql select的具体实现有了大致的了解,总结一下。如果要gdb单步调试,需要在编译MySQl时加上debug选项,参见这篇博客.编译好以后就可以用gdb启动了。如果希望mysql运行时有日志输出,可以指定输出文件转载 2017-10-29 22:46:29 · 2040 阅读 · 0 评论 -
mysql中SQL执行过程详解
mysql执行一个查询的过程,到底做了些什么:客户端发送一条查询给服务器;服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。服务器段进行SQL解析、预处理,在优化器生成对应的执行计划;mysql根据优化器生成的执行计划,调用存储引擎的API来执行查询。将结果返回给客户端。 实际上mysql执行的每一步都比较复杂,具体的过程如下:转载 2017-10-29 22:45:10 · 13374 阅读 · 0 评论 -
mysql 中间件资料整理
1、Cobar(阿里,目前已不在维护) [存储] Cobar使用文档(可用作MySQL大型集群解决方案)2、TDDL(阿里淘宝,需要用到阿里另外一个项目diamond配置中心)分布式数据层3、ATLAS(奇虎360) 负载均衡、读写分离,不支持分库分表4、MyCat(以Cobar基础,号称中国第一开源框架) My原创 2017-06-26 16:35:30 · 1570 阅读 · 0 评论 -
CentOS下编译安装mysql 5.5.10
·MySQL 5.5.10 for Linux 安装 操作系统:CentOS 5.5MySQL:5.5.10 su -利用CentOS 系统自带的yum命令安装、升级所需的程序库sudo -sLANG=Cyum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel f转载 2013-12-28 17:33:11 · 1473 阅读 · 0 评论 -
Reporting Services – 报表服务介绍
SQL Reporting Services 提供的功能一般常用的 BI 报表功能,SQL Reporting Service 都有,SQL Reporting Services 报表功能含以下:drill-down 下钻drill-through 钻取Parent-Child report structure 母、子报表架构Web report rendering 整个报表服务,转载 2013-11-16 11:36:01 · 4842 阅读 · 0 评论 -
时间序列数据处理的角逐:MongoDB vs. Cassandra
MongoDB与Cassandra是两个最具人气的NoSQL数据库,MongoDB更是NoSQL领域当之无愧的人气王,而Cassandra则常年霸占着列存储领域的首席,相比之下备受关注的HBase却因众多原因一直屈居次席。近日MyDrive Soulutions运营和架构总监分享了这两个人气NoSQL数据库在其公司的实践,并给出了相关对比,以下为译文:使用Cassandra替换转载 2013-11-01 11:14:08 · 1433 阅读 · 0 评论 -
一网打尽当下NoSQL类型、适用场景及使用公司
在过去几年,关系型数据库一直是数据持久化的唯一选择,数据工作者考虑的也只是在这些传统数据库中做筛选,比如SQL Server、Oracle或者是MySQL。甚至是做一些默认的选择,比如使用.NET的一般会选择SQL Server;使用Java的可能会偏向Oracle,Ruby是MySQL,Python则是PostgreSQL或MySQL等等。原因很简单:过去很长一段时间内,关系数据库的健壮性已转载 2013-07-29 15:58:35 · 1387 阅读 · 0 评论 -
MYSQL数据库导入SQL文件出现乱码如何解决
导入的方法: mysqluse test; mysql source c:/test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,可能在最终结果中出现乱码,此时只需在导入的SQL文件第一行加入如下内容 即可。 /*!40101 SET NAMES utf8 */; 以下内容转载: 使用 导入的方法:mysql>use test;mysql>转载 2013-01-21 20:36:02 · 1714 阅读 · 0 评论 -
随Linux开机自动启动mysql
在MySQL的管理过程中,会遇到PC Server脱机或者重启,我需要在主机启动后再将MySQL服务启动。如果上百台或者更多的MySQL主机进行维护时,可能会有多台主机出现类似问题,要是每次都手动操作,是很繁琐的事情。我们可以采用随系统一起启动MySQL服务,这样就解决了频繁手动启动MySQL的问题。 要实现随开启自动启动mysqld,我们需要搞定如下几个问题: 1. Linu转载 2013-02-06 17:19:40 · 533 阅读 · 0 评论 -
Replace INTO和INSERT INTO的区别 - mysql
Replace INTO和INSERT INTO的区别:REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被原创 2012-02-07 11:12:16 · 590 阅读 · 0 评论 -
SQLite数据库是中小站点CMS的最佳选择
SQLite数据库是中小站点CMS的最佳选择作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/database/sqlite_cms.html 作者:孙毓波 (AKCMS 作者)SQLite 是一个类似Access的轻量级数据库系统,但是更小、更快、容量更转载 2009-02-11 11:21:00 · 1050 阅读 · 0 评论