database
文章平均质量分 59
liuliufa
这个作者很懒,什么都没留下…
展开
-
redo和undo
这是在网上看到的对redo和undo的探讨:1.redo 记录所有做过的事情,用于恢复undo 记录事务的前镜相,用于回滚2.redo,恢复数据库时,按照重做日志文件来恢复你之前的操作undo,撤消你做过的操作,比如你错误的drop table,需要undo这个操作3.undo主要用于DB运行期间的DML,当一条dml语句执行以后,因为某种原因需要rollback,此时会用到undored转载 2008-03-04 14:45:00 · 438 阅读 · 0 评论 -
详解MySQL中DROP,TRUNCATE 和DELETE的区别
注意:这里说的delete是指不带where子句的delete语句 相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将转载 2008-03-22 13:59:00 · 835 阅读 · 0 评论 -
Mysql中limit的用法详解
在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个转载 2008-03-22 14:09:00 · 1207 阅读 · 0 评论 -
修改MYSQL最大连接数的3种方法
MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可方法二:MySQL的最大连接数默认是10转载 2008-04-24 15:53:00 · 700 阅读 · 0 评论 -
MySQL Replace INTO的使用
REPLACE的运行与INSERT很相像。只有一点除外,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。请参见13.2.4节,“INSERT语法”。注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制转载 2008-04-24 20:17:00 · 520 阅读 · 0 评论 -
linux高负载下彻底优化mysql数据库
同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-medium转载 2008-05-21 21:29:00 · 305 阅读 · 0 评论 -
为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧
Repinted:http://blog.csdn.net/class1/archive/2006/12/30/1469298.aspx为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧(可以根据你的喜欢选择相应的编码,如gb2312),即使你现在没有加上这句也能正常访问。先说MySQL的字符集问题。Windows下可通过修改my.ini内的转载 2008-05-21 23:02:00 · 493 阅读 · 0 评论 -
数据库设计中的14个关键技巧
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本原创 2008-05-26 03:41:00 · 459 阅读 · 0 评论 -
MySQL 服务器调优
关于 MySQL 调优有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 替换有问题的硬件。 对 MySQL 进程的设置进行调优。 对查询进行优化。 替换有问题的硬件通常是我们的第一考虑,主要原因是数据库会占用大量资源。不过这种解决方案也就仅限于此了。实际上,您通常可以让中央处理器(CPU)或磁盘速度加倍,也可以让内存增大转载 2008-05-26 05:04:00 · 780 阅读 · 1 评论 -
Mysql数据库引擎快速指南
如果你是个赛车手并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是怎么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换引擎;它让你选择数据库引擎,并给你一条简单的途径来切换它。MySQL的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务。如果愿意的话,你甚至可以使用MySQL++ API来创建自己的数据库引擎,就像打穿气缸装上自己的化油器转载 2008-03-22 14:22:00 · 372 阅读 · 0 评论 -
Mysql中的转义字符
字符串是多个字符组成的一个字符序列,由单引号(“”) 或双引号 (“"”) 字符包围。(但在 ANSI 模式中运行时只能用单引号)。例如:a string"another string"在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“/”)开头,称为转义字符。 MySQL 识别下列转义字符: /0 一个 ASCII 0 (NUL) 字符。 /转载 2008-03-22 14:19:00 · 2464 阅读 · 0 评论 -
MYSQL出错代码列表大全(中文)
mysql出错了,以前往往靠猜.现在有了这张表,一查就出来了.1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统表中的记录1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加转载 2008-03-22 14:16:00 · 390 阅读 · 0 评论 -
从映射观点看索引
信息检索主要有“检”与“索(办手续)”两个动作。在图书馆借书时,一般而言, 找书的时间比办理手续的时间长得多,因而缩短检查时间是提高效率的关键。数据库中检 索信息也与此类似。 在没有索引文件时,DBMS处理用户查询的主要操作是: (1) 通过线性搜索匹配,确定待查信息的位置,进行定位(例如用C语言的fseek)。 (2) 定位记录作为数据库转载 2008-03-04 14:53:00 · 572 阅读 · 0 评论 -
Mysql中limit的优化
在一些情况中,当你使用LIMIT row_count而不使用HAVING时,MySQL将以不同方式处理查询。· 如果你用LIMIT只选择一些行,当MySQL选择做完整的表扫描时,它将在一些情况下使用索引。· 如果你使用LIMIT row_count与ORDER BY,MySQL一旦找到了排序结果的第一个row_count行,将结束排序而不是排序整个表。如果使转载 2008-03-22 14:12:00 · 1773 阅读 · 0 评论 -
mysql 快速插入(insert)多条记录
方法1:INSERT INTO table(col_1, col_2,col_3) VALUES(1,11,111);INSERT INTO table(col_1, col_2,col_3) VALUES(2,22,222);INSERT INTO table(col_1, col_2,col_3) VALUES(3,33,333);有转载 2008-03-22 14:17:00 · 819 阅读 · 0 评论 -
教你精确编写高质量高性能的MySQL语法
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写,刚开始不会体会出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可达到上百倍,可见对于一个系统不是简单的能实现其功能转载 2008-03-22 14:21:00 · 435 阅读 · 0 评论 -
Mysql截取中英数混合的字符串
在mysql中截取字符串我们用LEFT函数LEFT(str,len) 返回从字符串str 开始的len 最左字符。 mysql> SELECT LEFT(foobarbar, 5); -> fooba手册上只介绍了截取英文字符串的方法,中文或者中英文的怎么办呢?以下是截取中英混合的字符串(中国人abc123)的前7位SQL如下:转载 2008-03-22 14:28:00 · 1288 阅读 · 0 评论 -
MySQL为什么要set names
大家都知道SET NAMES x相当于SET character_set_client = x;SET character_set_results = x;SET character_set_connection = x;以下从MySQL5.0官方文档上摘录了相关内容,并翻译,说明了相关系统变量的用处:What character set is the statement in when转载 2008-03-22 14:30:00 · 691 阅读 · 0 评论 -
MySql日期处理系列-常用的日期推算处理
以下都是我平时用的一些日期推算处理方法,方法并不一定是最有效率的.全部均通过测试!转载请注明来自[phpchina.com]#title: 常用的日期推算处理#auther: 小强(占卜师) #date: 2007-12-25#取得当前日期set @dt=CURDATE();select @dt;#当前日期这个月的第一天select concat(left(@dt,8),1);转载 2008-03-22 14:32:00 · 744 阅读 · 0 评论 -
谈谈我对MYSQL乱码的解决办法
经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧: WINDOWS 下导入应该这样使用MYSQL的命令在DOS命令下进入mysql的bin目录下,输入mysql -uroot -p密码 数据库名称只好查资料,发现了一个解决方转载 2008-03-22 14:42:00 · 533 阅读 · 0 评论 -
GooglePerformanceTools--tcmalloc
TCmalloc全称是Thread-Caching malloc,作者宣称tcmalloc相对于glibc2.3 malloc(aka ptmalloc2)有6倍的性能提高,tcmalloc的常用场景是用于加速MySQL,不过据Wikipedia的hacker Domas Mituzas说,tcmalloc不仅仅对MySQL起作用,对squid也同样起作用. http://hi.baidu转载 2008-05-26 06:33:00 · 575 阅读 · 0 评论