数据库研究
theorytree
这个作者很懒,什么都没留下…
展开
-
Mysql性能测试工具
<br />一、Mysqlslap测试:<br />mysqlslap是mysql自带的一个测试工具。<br />具体的用法可以通过man获得。<br />比较常用的options解释如下:<br /> <br />--concurrency 代表并发数量,多个可以用逗号隔开,当然你也可以用自己的分隔符隔开,这个时候要用到--delimiter开关。<br />--engines原创 2011-03-18 14:50:00 · 2555 阅读 · 0 评论 -
Mysql源代码阅读笔记(一) 代码流程
代码分析基于最新的5.5.21Mysql服务器的main()在/sql/main.cc,实际的入口点在/sql/mysqld.cc。我们直接从mysqld_main()开始阅读。先理解一些比较重要的宏定义:(1)宏HAVE_NPTL: 这个宏如果打开了会去读一个系统变量LD_ASSUME_KERNEL,并把他赋给一个全局变量ld_assume_kernel_i原创 2012-03-09 10:38:57 · 5977 阅读 · 0 评论 -
Mysql源代码阅读笔记(四) 服务器监听
(一)服务器/客户端版本1. 入口点:handle_connections_sockets()函数我们在此要用实例程序做实验,学习Mysql服务器所使用的两种事件监听技术:select和poll同时介绍更给力的事件监听技术epoll和libevent。代码SVN地址:2. 线程策略:Mysql支持 单线程和多线程 两种连接线程数。如果是单线程原创 2012-03-09 23:31:16 · 1208 阅读 · 0 评论 -
Mysql源代码阅读笔记(七)查询缓冲
/* Warning. The purpose of query_cache_send_result_to_client() is to lookup the query in the query cache first, to avoid parsing and executing it. 先在查询缓冲里查找查询,如果有则不需要解析和执行该查询原创 2012-03-10 22:46:41 · 925 阅读 · 0 评论 -
Mysql源代码阅读笔记(八) 词法、语法分析器
SQL 语句的处理过程:词法分析,语法分析,语义分析,构造执行树,生成执行计划,计划的执行。Mysql 并没有使用lex来实现词法分析,但是语法分析却用了yacc。与之对比的Sqlite3数据库,SQLite的词法分析器是手工写的,语法分析器由Lemon生成。要学习Mysql的分析器,则需要具备lex和yacc的相关知识。(一)词法分析在sql/原创 2012-03-10 22:53:44 · 5641 阅读 · 0 评论 -
Mysql源代码阅读笔记(九) 查询执行
查询执行查询执行的入口点:/** Parse a query. @param thd Current thread @param rawbuf Begining of the query text @param length Length of the query text @param[原创 2012-03-12 13:12:37 · 1394 阅读 · 0 评论 -
Mysql源代码阅读笔记(一) 命令行参数
在mysqld.cc文件里面有具体的命令行参数处理代码:调用顺序是:win_main()或者mysqld_main() 主入口点init_common_variables() 初始化系统变量get_options()mysqld_get_one_option() 具体的命令行处理函数。对系统变原创 2012-03-12 13:58:15 · 1011 阅读 · 0 评论 -
Mysql学习笔记(一) 并发控制
并发是相对事务而言的。隔离级SQL标准定义了4类隔离级,包括了一些具体规则,用来限定事务内外的哪些改变时可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。READ UNCOMMITTED(读取未提交内容)在READ UNCOMMITTED隔离级,所有事务都可以“看到”未提交事务的执行结果。在这种级别上,可能会产生很多问题原创 2012-03-13 15:39:29 · 984 阅读 · 0 评论 -
Mysql源代码阅读笔记(一) 系统变量和系统状态变量
阅读Mysql源代码的过程中,我们要面对很多服务器系统变量和系统状态: 系统变量(一)线程相关thread_cach原创 2012-03-13 14:20:34 · 1055 阅读 · 0 评论 -
Mysql源代码阅读笔记(二) 重要数据结构
(1)The THD Class/** @class THD For each client connection we create a separate thread with THD serving as a thread/connection descriptor*/(2The NET Structure(3)The LEX Struc原创 2012-03-09 22:59:20 · 1415 阅读 · 0 评论 -
Mysql源代码阅读笔记(三) 重要的宏
Mysql的宏分为(一)通过CMake自动扫描得到的宏(1)Have_NPTL:(2)Have_POLL:(3)HAVE_FCNTL:(4)HAVE_SYS_UN_H:(5)HAVE_LIBWRAP:(二)通过CMake手工配置的宏(1)EMBEDDED_LIBRARY(三)重要的功能宏原创 2012-03-09 23:11:37 · 1653 阅读 · 0 评论 -
linux 设备IO 研究与数据库性能调优
Linux上的块设备的操作可以分为两类:第一类是使用C标准库中的fopen/fread/fwrite 系列的函数,我们可以称其为 buffered I/O。具体的I/O path如下ApplicationLibrary BufferOperation System CacheFile System/Volume ManagerDevicelibrary buffer是标准库提供的用户空间的buffer,可以通过setvbuf改变其大小。第二类是使用Linux的系统调用的open/read/write 系列的原创 2011-03-18 11:09:00 · 1626 阅读 · 0 评论 -
数据库调优总结
<br />数据库调优分为软硬两个方面:<br /> <br /> <br />(一)软<br />应用程序代码逻辑<br />数据库表的设计<br />索引重建<br /> <br /> <br /> <br />(二)硬<br /> <br />IO调度<br />文件系统<br />存储介质类型<br />原创 2011-03-18 16:00:00 · 771 阅读 · 0 评论 -
Oracle数据库学习
<br />Oracle RAC是Oracle Real Application Cluster的简写,官方中文文档一般翻译为“真正应用集群”,<br /> <br />它一般有两台或者两台以上同构计算机及共享存储设备构成,可提供强大的数据库处理能力,现在是Oracle 10g Grid应用的重要组成部分。<br /> <br />Oracle Data Guard <br />Disaster Tolerance<br /> <br />SGA: System Global Area<br /> <原创 2011-03-21 15:32:00 · 502 阅读 · 0 评论 -
关于索引的一些认识
<br />索引的目的就是为了避免 full table scan.<br /> <br />索引是可以手工创建的。<br />建表的时候会自动创建主键索引。<br /> <br />索引的类型:<br /> <br />B-Tree Indexes<br />Bitmap Indexes<br />Hash Indexes<br />Reverse Key Indexes<br /> <br />Index-Origanized Tables<br />Function-Based Indexes<br原创 2011-03-22 14:53:00 · 1457 阅读 · 0 评论 -
易经与人生
潜龙勿用:隐喻事物在发展之初,虽然势头较好,但比较弱小,所以应该小心谨慎,不可轻动。见龙在田:一个胸怀大志的人,已经崭露头角,但要能成事、成大事,还要向有权有识的人物学习,才会有利于自身的发展。飞龙在天:原意为左右逢源。好汉不怕出身低,只要努力打拼总会出头天。亢龙有悔:意为居高位的人要戒骄,否则会失败而后悔。原创 2011-03-22 15:45:00 · 721 阅读 · 0 评论 -
开始学习ORACLE
<br />https://localhost:1158/em<br /> <br />用户名:sysman<br />密码:原创 2011-03-23 14:02:00 · 529 阅读 · 0 评论 -
Mysql调优相关文章链接
http://www.jzxue.com/shujuku/mysql/200910/20-2984.html原创 2012-03-07 23:25:08 · 712 阅读 · 0 评论 -
关于Mysql里的相关大小写问题
识别符大小写敏感性 http://dev.mysql.com/doc/refman/5.1/zh/language-structure.htmlIdentifier Case Sensitivityhttp://dev.mysql.com/doc/refman/5.6/en/identifier-case-sensitivity.htmlCollation校对规则原创 2012-03-07 23:26:11 · 799 阅读 · 0 评论 -
Mysql源代码阅读笔记(六)命令汇总
enum enum_server_command{ COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST, COM_CREATE_DB, COM_DROP_DB, COM_REFRESH, COM_SHUTDOWN, COM_STATISTICS,原创 2012-03-10 22:37:29 · 851 阅读 · 0 评论 -
Mysql学习笔记(一) 日志
binlog基于语句,基于行、混合 三种格式二进制日志可以实现主从复制。有了主从复制后就能实现读写分离。原创 2012-03-13 17:32:46 · 657 阅读 · 0 评论