
数据库
文章平均质量分 74
曾经的阿飞
这个作者很懒,什么都没留下…
展开
-
Mysql数学函数不求人
<br />所有的数学函数在一个出错的情况下返回NULL。 <br /><br />- <br />单目减。改变参数的符号。 <br />mysql> select - 2; <br /><br />注意,如果这个操作符与一个BIGINT使用,返回值是一个BIGINT!这意味着你应该避免在整数上使用-,那可能有值-2^63! <br />ABS(X) <br />返回X的绝对值。 <br />mysql> select ABS(2); <br />-> 2 <br />mysql> sel转载 2010-08-31 12:13:00 · 909 阅读 · 0 评论 -
关于mysql index length
<br />这篇文章是我对explain出来之后index的长度产生的一个疑问,然后刨根问底之后总结下来的。<br />具体可见:http://topic.youkuaiyun.com/u/20100727/14/9a63689e-7fdc-4b33-b215-7d08b2aef569.html<br /> <br />总结如下:<br />一、关于utf8<br />UTF-8 is the 8-bit encoding of Unicode. It is a variable原创 2010-07-29 11:30:00 · 3243 阅读 · 0 评论 -
在windows cmd下执行mysql显示乱码解决方案
<br />因为很多windows的终端采用的是gbk编码,所以如下的内容,有可能是设置为set character_set_client=gbk,这样才能在终端正常显示中文。<br />character_set_client客户端传输到服务器端命令所使用的编码<br />显示乱码,修改character_set_results=gb2312,这样服务器返回的数据,在返回前会将数据转化成character_set_results指定的编码。原创 2010-07-21 16:05:00 · 1424 阅读 · 0 评论 -
what is the mean of "GPRINT Type" in cacti
To understand GPRINT format, you should read the manual of rrdtool. http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.htmlThere are three types of GRPINT format Presets in Cacti.Yo原创 2010-05-25 18:26:00 · 1960 阅读 · 0 评论 -
处理 Could not parse relay log event entry
[编辑]Slave停止工作<br />[编辑]无法读取master上的log现象1 show slave status显示以下错误信息<br /> Could not parse relay log event entry. The possible reasons are: the master's binary log <br /> is corrupted (you can check this by running 'mysqlbinlog' on the binar转载 2010-07-19 10:14:00 · 3296 阅读 · 0 评论 -
修改linux swap空间的 swappiness,降低对硬盘的缓存
<br /> linux会使用硬盘的一部分做为SWAP分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再调成‘活动(active)’,睡眠的进程就躺到SWAP分区睡大觉,把内存空出来让给‘活动’的进程。<br /> 如果内存够大,应当告诉 linux 不必太多的使用 SWAP 分区, 可以通过修改 swappiness的数值。swappiness=0的时候表示最大限度使用物理内存,然后才是sw转载 2010-07-20 10:08:00 · 1194 阅读 · 0 评论 -
如何安装MySQLdb
tar xfz MySQL-python-1.2.1.tar.gzcd MySQL-python-1.2.1#解压后直接运行这个脚本就OK了,剩下的下载安装setuptools的工作就让这个脚本自己去完成python ez_setup.py#edit site.cfg if necessarypython setup.py buildpython setup.py install原创 2010-07-16 15:10:00 · 840 阅读 · 0 评论 -
关于MySQLdb的一些新发现(使用python连接mysql的库)
<br />MySQLdb的文档时通过python的工具自动将注释生成的,所以文档的可读性不是很强。下面是通过其他的文章发现的两个比较好点的使用方式:<br />一、<br />cursor.execute("select id,ip,port from db limit 5")<br />for (id,ip,port) in cursor.fetchall():<br /> print id<br />这样比row[0][0]...这种方式阅读性要好一点,并且代码比较简洁<br原创 2010-07-07 11:23:00 · 763 阅读 · 0 评论 -
mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form' for update in FROM clause
<br />原文地址:http://www.cnblogs.com/chy1000/archive/2010/03/02/1676282.html<br /> <br />今天在写 mysql 遇到一个比较特殊的问题。<br />mysql 语句如下:<br /><br />update wms_cabinet_form set cabf_enabled=0 <br />where cabf_id in (<br />SELECT wms_cabinet_form.cabf_id FROM wm转载 2010-07-07 17:33:00 · 485 阅读 · 0 评论 -
OLTP和OLAP
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 on转载 2010-05-10 10:29:00 · 680 阅读 · 0 评论 -
SQL中的join的详细用法!inner join,full outer join,left join,right jion
<br />转自:http://hi.baidu.com/qgbmxxf/blog/item/decd052d2b53573d359bf77c.html<br />作者:Lich King<br /> <br />--查询分析器中执行:<br /> --建表table1,table2:<br /> create table table1(id int,name varchar(10))<br />转载 2010-06-30 17:34:00 · 3720 阅读 · 0 评论 -
expire_logs_days
expire_logs_days设置完这个参数之后需要执行flush logsThe number of days for automatic binary log file removal. The default is 0, which means “no automatic removal.” Possible removals happen at startup and when th原创 2010-05-04 22:51:00 · 1493 阅读 · 0 评论 -
mysql errno: 150 错误 外键
ERROR 1005 (HY000): Cant create table ****.frm (errno: 150)我是从以下几个方面解决了此问题:1、确保参照的表和字段是存在的;2、组成外键的字段要求被索引(主要是外键那个字段要求在其他表中是主键);3、外键关联的两表或多表要求都是INNODB类型的表;4、字段类型(说明)要一样`itemId` varchar(3转载 2010-04-29 15:02:00 · 1052 阅读 · 0 评论 -
skip-name-resolve
<br />When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve th原创 2010-07-28 10:55:00 · 1328 阅读 · 0 评论 -
如何使用cacti脚本批量添加主机
使用脚本添加的时候遇到下面的错误。[root@SJSWT44-122 cli]# php -q add_device.php --description='user1.db' --ip='user1.db.d.xiaonei.com' --template=11PHP Notice: Use of undefined constant E_DEPRECATED - assumed 'E_DEPRECATED' in /usr/local/apache/htdocs/cacti/include/原创 2010-06-03 12:20:00 · 3200 阅读 · 0 评论 -
Mysql Explain 详解
一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | select_type | table | type | possible_keys | key | k转载 2010-06-03 13:52:00 · 549 阅读 · 0 评论 -
sysbench的安装及使用
文章是我使用sysbench的一些心得原创 2010-06-24 12:20:00 · 2810 阅读 · 0 评论 -
MySQL特异功能之:Impossible WHERE noticed after reading const tables
<br />用EXPLAIN看MySQL的执行计划时经常会看到Impossible WHERE noticed after reading const tables这句话,意思是说MySQL通过读取“const tables”,发现这个查询是不可能有结果输出的。比如对下面的表和数据: create table t (a int primary key, b int) engine = innodb;<br /> insert into t values(1, 1); <br /> insert转载 2010-06-22 11:38:00 · 5121 阅读 · 0 评论 -
关于索引的一个诡异问题
<br />原创 2010-06-21 16:51:00 · 524 阅读 · 0 评论 -
sync、fsync和fdatasync函数
<br /> <br />传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(Bach [1986]第3章详细讨论了缓冲区高速缓存)。<br />延迟写减少了磁盘读写次数,但转载 2010-08-12 15:12:00 · 1433 阅读 · 0 评论 -
Python mysql 中文乱码
<br />当使用MySQLdb.connect连接MySQL数据库的时候,出现乱码而在mysql内部select时没有乱码,请检查MySQLdb.connetc是否指定了charset,默认的charset应该是ASCII。<br /> <br /> <br />详细的请看http://hi.baidu.com/litertiger/blog/item/506cb5debaa3d55bccbf1aed.html<br />import MySQLdb<br />db_user = "tiger"<br转载 2010-06-13 11:12:00 · 969 阅读 · 0 评论 -
大量AUTO-INC LOCK 导致的DeadLOCK
原文链接:http://steven1981.itpub.net/post/7967/494087官方文档关于AUTO_INC锁说明今天发现数据库报检查到死锁,而且有大量的回滚。 当时状态见:这个库压力比较大,但从STATUS看,都是 lock mode AUTO-INC waiting.而且从应用开发了解到,都是简单的INSERT和select。 没有交叉更新的事务。 如果是等待AUTO-INC锁,也不应该会产生死锁。因为AUTO-INC锁在某一时刻只会被一个事务/INSERT操作转载 2010-06-12 16:53:00 · 3461 阅读 · 1 评论 -
mysql执行包括多个表的UPDATE操作
table_references子句列出了在联合中包含的表。该语法在13.2.7.1节,“JOIN语法”中进行了说明。以下是一个例子:UPDATE items,month SET items.price=month.priceWHERE items.id=month.id;转载 2010-08-05 11:08:00 · 1421 阅读 · 0 评论 -
如何写出高性能的MySQL查询
<br />作者:会写代码的猪原文链接<br /> <br />想写这样一篇文章很久了,但始终没有下手。最近帮同事看了几个查询,而且自己也在考虑一个索引系统的问题,所以今天就把这个写了。介绍一下MySQL的索引机制,还有一些MySQL查询的优化策略。鄙人才疏学浅,很可能说的不对,请路过的各位大侠批评指正,献丑了。<br />首先,说说MySQL的索引存储方式。MySQL的索引一般是B-Tree的结构存储的,内存表也有Hash索引,但是内存表的出镜率似乎已经低到了用“可怜”来形容的程度,所以我转载 2010-06-09 00:00:00 · 617 阅读 · 0 评论 -
什么是脏读、不可重复读、幻读
<br /><br />1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。<br />2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。例如,一个编辑人员两次读取同一文档转载 2010-08-03 14:44:00 · 965 阅读 · 0 评论 -
INSERT ... ON DUPLICATE KEY UPDATE Syntax
<br />f you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, an UPDATE of the old row is performed. For example, if column a原创 2010-06-07 21:07:00 · 717 阅读 · 0 评论 -
CACTI表结构和数据被动获取
<br /> cacti我们也用了很久了,但是它的表结构一直都没有去关心过,得空抽了半个晚上的时间,把它的库表结构大概看了下,某些字段的含义跟大家分享下:<br /> cacti的数据都是存放在rrdtool中的,数据库存放的其实只是配置数据,cacti的逻辑对象主要分为三种,data(数据)、graph(图片)、host(设备),这在它的表设计中也能很容易的看出来。所以,就分三个大类来讨论了。<br />一、Host<br /> cacti的host一般转载 2010-06-03 21:06:00 · 4257 阅读 · 0 评论 -
mysqldumpslow
<br /> The MySQL slow query log contains information about queries that take a long time to execute (see Section 5.2.5, “The Slow Query Log”). mysqldumpslow parses MySQL slow query log files and prints a s转载 2010-06-01 23:34:00 · 752 阅读 · 0 评论 -
修改mysql的root密码的几种方法
作者: 肖建彬 | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明网址:http://www.xiaojb.com/archives/it/mysqlroot.shtmlMethod 1: 在/usr/local/mysql/bin/下: ./mysqladmin -u root password ‘new_password’ 一般转载 2010-01-13 15:56:00 · 388 阅读 · 0 评论 -
用locate查找文件
4.6 搜索文件Fedora借助mlocate软件包维护了一个文件系统所有文件(/etc/updatedb.conf文件指定例外情况)相关的数据库。locate命令可以搜索该数据库,由于搜索的是数据库而非实际的文件系统,故能立即返回结果。locate出现之前,大部分Linux用户使用find命令在文件系统中查找文件。这一节将分别介绍locate和find命令。4.6.1 用lo转载 2010-01-06 17:16:00 · 843 阅读 · 0 评论 -
mysql缓存参数
对mysql的优化不在行,搞过几次优化,但是都不是很理想,还是浪费资源太多。一直发现我的mysql的缓存命中率极差,情况良好的时候到达过60-70%,但是运行时间一长,只有10-20%。查了一些资料,关于缓存的一些参数记录mysql> SHOW VARIABLES LIKE ‘%query_cache%’;+——————————+———-+| Variable_name转载 2010-01-22 19:14:00 · 785 阅读 · 0 评论 -
MySQL查询高速缓冲
什么是MySQL查询高速缓冲? 查询缓存存储SELECT查询的文本以及发送给客户端的相应结果。如果随后收到一个相同的查询,服务器从查询缓存中重新得到查询结果,而不再需要解析和执行查询。缓存的效果如何? 如果执行的所有查询是简单的(如从只有一行数据的表中选取一行),但查询是不同的,查询不能被缓存,查询缓存激活率是13%原创 2010-01-22 19:13:00 · 728 阅读 · 0 评论 -
漫谈数据库索引
转自:http://www.cnblogs.com/KissKnife/archive/2009/03/30/1425534.html 一、引言对数据库索引的关注从未淡出我的们的讨论,那么数据库索引是什么样的?聚集索引与非聚集索引有什么不同?希望本文对各位同仁有一定的帮助。有不少存疑的地方,诚心希望各位不吝赐教指正,共同进步。[最近首页之争沸沸扬扬,也不知道这个放在这合适么,苦转载 2009-10-20 15:10:00 · 392 阅读 · 0 评论 -
关于SQL语句Count的一点细节
count语句支持*、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。 if(object_id(t_test)>0) drop table t_t转载 2009-09-20 21:36:00 · 581 阅读 · 0 评论 -
数据完整性
关系模型允许定义三类数据约束,它们是实体完整性、参照完整性以及用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。 实体完整性约束要求关系的主键中属性值不能为空,这是数据库完整性的最基本要求,因为主键是惟一决定元组的,如为空则其惟一性就成为不可能的了。 参照完整性约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在原创 2008-06-24 22:27:00 · 641 阅读 · 0 评论 -
C# ADO.NET示例程序
using System.Data;//DataSet在这个命名空间里面 using System.Data.SqlClient;//SqlParameter、SqlCommand、SqlDataAdapter都是这个命名空间里面SqlParameter[] Param ={ new SqlParameter("@examSetID",SqlDbType.NVarChar,20),原创 2008-06-05 00:05:00 · 706 阅读 · 0 评论 -
ADO.NET架构
以前,数据处理主要依赖于基于连接的双层模型。当数据处理越来越多地使用多层结构时,程序员正在向断开方式转换,以便为他们的应用程序提供更佳的可缩放性。ADO.NET 组件可以使用 ADO.NET 的两个组件来访问和处理数据: .NET Framework 数据提供程序 DataSet .NET Framework转载 2008-06-04 23:57:00 · 701 阅读 · 0 评论 -
SqlServer中关于时间函数的应用
文章来源:胡同的小窝SqlServer中关于时间函数的应用SqlServer中关于时间函数的应用通常在开发数据库应用中,都会涉及到与时间日期相关的查询操作的,下面就这些常见的问题,总结一下。 首先介绍一下,在SQL Server中处理时间的函数比较常用就这下面几个,熟悉了这些时间函数的使用,会使你在以后相关的时间日期查询中得心应手滴:getdate()转载 2008-06-08 10:49:00 · 732 阅读 · 0 评论 -
SQLSERVER触发器的一个简单例子
一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行 完转载 2008-05-25 22:51:00 · 1531 阅读 · 0 评论 -
数据库索引
目录 索引 索引列 唯一索引 主键索引 聚簇索引和非聚簇索引 如何创建索引 如何删除索引索引 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地原创 2008-05-24 01:34:00 · 1429 阅读 · 1 评论