mysql
文章平均质量分 65
sws9999
2012目标:40(TML)
2010目标:::AB!!!(实现)
2009大目标 ::: S(已实现)
展开
-
MySQL复制表结构和数据SQL语句
1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2转载 2008-04-23 11:02:00 · 1018 阅读 · 0 评论 -
简单叙述一下MYSQL的优化
现在大概列出如下:(望各位补充)1.数据库的设计尽量把数据库设计的更小的占磁盘空间.1).尽可能使用更小的整数类型.(mediumint就比int更合适).2).尽可能的定义字段为not null,除非这个字段需要null.3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.4).表的主索引应该尽可能的短.这样的话每条纪录都有名字标志且原创 2008-11-02 11:12:00 · 703 阅读 · 0 评论 -
Clustered Index & Non Clustered Index
聚簇索引和非聚簇索引都是为了增加数据检索速度而存在的.在配置上, 每个表只能有一个聚簇索引,而能有200多个非聚簇索引。在物理分配上, 每个表的数据都是分配在页上,一个页大概有8k左右,假设一条数据占1000字节的话,那么8000条数据占8000*1k/8k = 1000页面,这些数据存在于数据块中。如果对这些数据中的某一10字节的字段做聚簇索引的话,8000 * 0.01K /8转载 2008-11-02 22:15:00 · 630 阅读 · 0 评论 -
为数据库建立索引
最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。 CREATE TABLE mytable ( id serial primary key, category_id int not null default 0, user_id int not null default 0, adddate int not null default 0 ); 如原创 2008-11-02 22:25:00 · 598 阅读 · 0 评论 -
Mysql数据库基本操作概要
虽然一直用的是mysql,可是对它的掌握并不很深,经常为一个基础的知识点上网查找。下面这篇帖子很全面和适用,收藏在此。感谢原作者。转自:http://www.matrix.org.cn/blog/wenic705/archives/001511.htmlMysql数据库学习写程序经常用到,写个接连就完事了,没去好好动过Mysql数据库。今天有空仔细学习Mysql,做个笔记,自己以后转载 2009-01-12 11:15:00 · 807 阅读 · 0 评论 -
left join 和 left outer join (可解决多个表left join的问题)
http://blog.csdn.net/laolaowhn/archive/2007/09/07/1776219.aspx通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join B 的连接的记录数与B表的记录数同 A left join B 等价B right join转载 2009-02-27 18:24:00 · 22288 阅读 · 0 评论 -
SQL里的EXISTS与in、not exists与not in
系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/not in修改为exists/not exists 修改方法如下:in的SQL语句SELECT id, category_id, htmlfile, title, convert(varchar(20),begintime,112) as pubtime FROM tab_oa原创 2008-12-25 11:02:00 · 684 阅读 · 0 评论 -
MySQL字符集及MySQL编码转换
今天找到这篇文章,里面提到从latin1到UTF8的MySQL编码转换。收藏一下,最近要将所有的数据库都转一次,一直错误的使用latin1,再不转以后麻烦大了。出处:未知个人建议,数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用转载 2008-12-25 16:28:00 · 744 阅读 · 0 评论 -
mysql 查询中文 like不准的问题
在做MySQL的Like查询是发现中文搜索总是不争取,从网上找到了几个解决方法,大家可以看看: 方法一: 解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。 方法二: 如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参转载 2009-07-29 17:08:00 · 4378 阅读 · 1 评论 -
MySQL实现表中取出随机数据
一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低。You cannot use a column wi原创 2009-06-12 12:11:00 · 872 阅读 · 0 评论 -
google的mysql内存优化模块
高并发的mysqlDB的内存处理是比较关键的,有效的内存管理机制可以很大程度上减轻数据库的负载。TCMalloc(Thread-Caching Malloc)是google开发的开源工具──”perftools”的成员之一。可以在高并发的的环境下有效提升mysql的内存处理能力。安装:wget http://google-perftools.googlecode.com/files原创 2009-08-31 16:20:00 · 1026 阅读 · 0 评论 -
使用tcmalloc提升mysql性能
http://www.china-lg.com/blog/index.php?play=reply&id=537网上搜到了tcmalloc,说是这个东西可以让MySQL在高并发下性能也很稳定,同时也说了MySQL这个问题是因为malloc内存分配函数的bug,这个bug会使高并发的MySQL性能急剧下降。使用google的tcmalloc 内存分配函数代替libc里的标准malloc.转载 2009-08-31 12:00:00 · 1281 阅读 · 0 评论 -
mysqldump导出多条insert语句
mysqldump会导出一条insert语句,虽说执行起来会快一些。但是遇到大表,很可能因为缓冲区过载而挂掉。而且不容易阅读 mysqldump --skip-opt这个参数,就可以导出多条insert mysqldump --skip-opt -uroot -p database tablename > script.sql原创 2009-07-08 10:59:00 · 5248 阅读 · 1 评论 -
数据库升级安装的过程
1.备份my.cnf(/etc/my.cnf, 通常/usr/local/mysql5/etc/下会有一个软连接到这个my.cnf)2.dump数据3.killall mysql; killall mysqld;4.删除/data/dbdata/下的所有数据5.重新安装mysql, rpm -Uvh --nodeps xxxx.rpm6.在/usr/local/mysql5/e原创 2009-10-10 09:54:00 · 422 阅读 · 0 评论 -
64位机器上安装memcache
机器ip为192.168.6.210,64位centOS5 1,首先下载到memcached和libevent memcache需要libevent的支持 #cd /usr/local/src/ # wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.g原创 2010-01-12 16:46:00 · 2756 阅读 · 0 评论 -
mysql 赋给用户权限 grant all privileges on
<br />遇到了 SQLException: access denied for @'localhost' (using password: no)<br />解决办法 grant all privileges on *.* to joe@localhost identified by '1';<br /> flush privileges;<br />拿 joe 1 登陆<br />附:<br />mysql> grant 权限1,权限2,…权限n on转载 2010-12-14 15:52:00 · 943 阅读 · 0 评论 -
MySQL导入sql 文件的5大步骤
以下的文章主要介绍的是MySQL导入sql 文件,即MySQL数据库导入导出sql 文件的实际操作步骤,我们主要是将其分成5大步骤对其进行讲述,如果你对其有兴趣的话你就可以点击以下的文章进行观看了。步骤如下:一.MySQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“;path/MySQL/bin;”其中path为MySQL的安装路径。二.简单的介绍一下命令行进入MySQL的方法:1.C:/>MySQL -h hostname转载 2011-04-26 11:12:00 · 1482 阅读 · 0 评论 -
mysql支持事务
mysql的innodb支持事务处理的 Suppose that you have started the MySQL client with the command mysql test. To create an InnoDB table, you must specify and原创 2008-11-02 10:43:00 · 2707 阅读 · 0 评论 -
数据库范式
数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库,甚至设计出错误的数据库。本文用较为直白的语言介绍范式,旨在便于理解和记忆。document.write(); 数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库,甚至设计出错误的数据库。而想要理解并掌握范式却并不是那 么容易。教转载 2008-10-29 10:06:00 · 596 阅读 · 0 评论 -
教你怎样在MySQL中提高全文搜索效率
很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。 MySQL针对这一问题提供了一种基于内建的全文查找方式的解决方案。在此,开发者只需要简单地标记出需要全文查找的字段,然后使用转载 2008-10-29 10:04:00 · 812 阅读 · 0 评论 -
Sql随机取数据
MsSql随机取数据 select top 10 * from c_cy_admin order by newid()Access 随机取数据 select SELECT top 10 id FROM 表1 order by rnd(id)mySql 随机取数据 SELECT id FROM gueze order by rand() limit 10 Q. 如何得到随机排序结果? A转载 2008-09-05 16:07:00 · 1623 阅读 · 0 评论 -
Mysql数据库创建用户
个人教训,在添加Mysql帐号的时候,一定要主义用户名和主机(local和%)均要被引号引起,否则命令即错 命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束. 格式:grant select on 数据库.* to “用户名”@“登录主机” identified by "密码"; 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权转载 2008-09-12 11:29:00 · 798 阅读 · 0 评论 -
Mysql索引优化(动态网站优化)
一、什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录原创 2008-09-29 12:33:00 · 515 阅读 · 0 评论 -
数据库查询优化原则
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:原创 2008-09-29 13:56:00 · 572 阅读 · 0 评论 -
50个sql语句
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#=001) a,(se转载 2008-10-03 12:27:00 · 1068 阅读 · 0 评论 -
MySql索引优化注意
设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的转载 2008-09-29 12:36:00 · 619 阅读 · 0 评论 -
两阶段提交协议
实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:• 应用程序调用事务协调器中的提交方法。 • 事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务(这是第一阶段的开始)。 • 为 了以肯定的方式响应准备阶段,资源管理器必须将自己置于以下状态:确保能在被要求提交事务时提交事务,或在被要原创 2008-10-03 15:23:00 · 613 阅读 · 0 评论 -
数据库事务和锁
简述 关系型数据库有四个显著的特征,即安全性、完整性、并发性和监测性。数据库的安全性就是要保证数据库中数据的安全,防止未授权用户随意修改数据库中的数据,确保数据的安全。 在大多数数据库管理系统中,主要是通过许可来保证数据库的安全性。完整性是数据库的一个重要特征,也是保证数据库中的数据切实有效、防止错误、实现商业规则的一种重要机制。在数据库中,区别所保存的数据是无用的垃圾还是有价值的信息,主要是原创 2008-10-03 16:06:00 · 749 阅读 · 0 评论 -
编辑本段数据库结构与数据库种类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。 1.数据结构模型 (1)数据结构 所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名转载 2008-10-03 16:29:00 · 962 阅读 · 0 评论 -
数据库类型简介
数据库类型 数据库有类型之分,是根据数据模型划分的。目前成熟地应用在数据库系统中的数据模型有:层次模型、网壮模型和关系模型。下面我们分别学习以下这三种模型。 层次模型 层次模型是原创 2008-10-28 21:18:00 · 1087 阅读 · 0 评论 -
innoDB
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recoverycapabilities)、多版本并发控制(multi-versioned concurrencycontrol)的事务安全(transaction-safe (ACID compliant))型表。InnoDB提供了行级锁(locking on row l原创 2008-10-28 21:50:00 · 544 阅读 · 0 评论 -
转一个关于优化sql的文章
大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿!SQL语句:是对数据库(数据)进行操作的惟一途径;消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;可以有不同的写法;易学,难精通转载 2008-10-28 22:12:00 · 530 阅读 · 0 评论 -
MySQL性能优化
1. 简介在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在产品中使用MySQL数据库必须进行必要的优化。优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器端优化,存储引擎优化原创 2008-10-28 22:03:00 · 602 阅读 · 0 评论 -
常用MYSQL命令
常用MYSQL命令启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库:show databases; 选择数据库:use databaseName; 列出表格:show tables; 创建数据表:mysql> CREATE原创 2008-10-28 22:04:00 · 472 阅读 · 0 评论 -
MySQL InnoDB 的性能问题讨论
http://www.javaeye.com/topic/34676原创 2008-10-28 22:05:00 · 438 阅读 · 0 评论 -
谈数据库的性能优化
http://www.javaeye.com/topic/216078这个是我以前写给我部门的一个技术心得,鄙人才疏学浅,知道javaeye高人很多,如果我写的不对的地方,欢迎指教。 1:前言 数据库优化是一个很广的范围,涉及到的东西比较多,并且每个特定的数据库,其具体的优化过程也是不一样的.因为优化的很大一部分最终都要跟具体的数据库系统细节打交道,在此不可能针对所有的数据转载 2008-10-28 22:08:00 · 779 阅读 · 0 评论 -
mysqldump
mysqldump --databases db_wali --table t_bind -uroot -pwali@2011 -dmysqldump备份还原和mysqldump导入导出语句大全详解 mysqldump备份: mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" --lock-all-tables > 路径 案转载 2011-10-27 16:29:28 · 604 阅读 · 0 评论