Database
文章平均质量分 67
hejiajunhs
这个作者很懒,什么都没留下…
展开
-
sql语句中GROUP BY 和 HAVING的使用 count()
在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数, 例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 SELECT SUM(population) FROM bbc 这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有 国家的总人口数。 ...原创 2013-03-22 09:16:20 · 5401 阅读 · 0 评论 -
mysql ibdata1文件的缩小-释放磁盘空间
mysql ibdata1文件存放数据,索引等。如果不把数据库中数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。对于某些应用、磁盘较小的server来说,并不是太合适。因此要把此文件缩小。方法:数据文件单独存放。 详见:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#bac...原创 2013-10-12 10:09:09 · 204 阅读 · 0 评论 -
mysql 查询字段存储为xml格式中的某个标签
Mysql 5.1新增了操作XML的函数,ExtractValue() 解析(搜索数据)UpdateXML() 更新,还是蛮方便的。 详见:http://ftp.nchu.edu.tw/MySQL/tech-resources/articles/mysql-5.1-xml.html MySQL version 5.1.5 has functions for searc...2013-10-12 10:23:39 · 735 阅读 · 0 评论 -
Mysql Innodb共享表空间VS独立表空间
在使用Innodb引擎时将要面对两种表空间的管理选择的问题,Innodb有两种管理表空间的方法:1. 共享表空间(也可以拆分成多个小的表空间)2. 独立表空间每一个表有一个独立的表空间。我个人推荐使用独立表空间。在性能和运维上独立表空间比共享的表空间有很多优势。下面我将分别说明一下两种表空间管理的特点。共享表空间:由于是默认的方式,就暂且理解为Mysql官方推荐的方式。...原创 2013-10-12 11:19:59 · 128 阅读 · 0 评论 -
通过show variables like xxx 详解mysql运行时参数
本文参考以下网页:1.http://dev.mysql.com/doc/refman/5.1/en/server-status-variables.htm2.http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html3.http://www.ibm.com/developerworks/cn/linux/l-tune-...原创 2013-10-12 11:22:24 · 288 阅读 · 0 评论 -
mysqldump转储时必备&非必备参数
mysqldump转储时必备参数: e.g. C:\Documents and Settings\zhuolangkeji>mysqldump -uxxxx -pxxx -h 172.26.3.109 -P 3306 -c -e -B task > c:\task.sql --user, -u指定连接的用户名。 --port, -P连接数据库端口...原创 2013-10-13 21:37:56 · 124 阅读 · 0 评论 -
Windows下MySQL多实例运行
1.正常安装Windows版的MySQL,例如安装在d:\MySQL文件夹里; 2.按照常规配置好MySQL; 3.复制备份安装好的文件夹,命名为“MySQL_3307"; 删除 data目录下的文件其他文件夹,只剩 test和mysql文件夹;4.修改“d:\MySQL_3307" 下的my.ini 端口为3307[client]port=3307[mysqld]# The ...原创 2013-10-13 21:40:20 · 171 阅读 · 0 评论 -
MySQL优化之经验篇
* 针对Innodb表,尽量不执行SELECT COUNT(*)语句,因为Innodb表没有类似MyISAM那样的内部计数器来记录表记录总量,执行这个操作将会全表扫描,速度很慢. * 尽量使用MyISAM表,除非必须使用其他类型,因为MyISAM类型的总体读写效率是相当高的,缺点是表级锁,而不是行/页级锁. * 善用EXPLAIN来帮助你分析查询优化情况 * 如果需要对一个...原创 2013-10-13 21:40:31 · 74 阅读 · 0 评论 -
mysqldump使用常用参数说明
mysqldump参数大全 详见mysql手册:http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html#mysqldump 参数参数说明--all-databases , -A导出全部数据库。mysqldump -uroot -p --all-databases--all-table...原创 2013-10-13 21:40:51 · 93 阅读 · 0 评论 -
运行时参数tmp_table_size和max_heap_table_size
可用到的语句:SET GLOBAL max_heap_table_size=522715200;512MSHOW status like 'created%';SHOW variables LIKE '%table_size'; 以下内容整理自mysql手册(tmp_table_size/max_heap_table_size): tmp_table_size...原创 2013-10-15 09:17:42 · 816 阅读 · 0 评论 -
MySQL INNODB表空间两种配置阐述
在mysql中,也出现了类似oracle中的表空间概念。 开启了Innodb的innodb_file_per_table这个参数之后【innodb_file_per_table = 1】,也就是启用InnoDB的独立表空间模式,便于管理。此时,在新建的innodb表的数据库目录下会多出来一个.ibd这个文件。mysql会把这个innodb表的数据存放在这个文件中。并且每个inno...原创 2013-10-15 09:33:32 · 186 阅读 · 0 评论 -
mysql数据库百万级记录查询分页优化
http://www.lvtao.net/database/mysql_page_limit.htmlhttp://blog.sina.com.cn/s/blog_3f3422fd0100fxfg.htmlhttp://wgxsoft.blog.163.com/blog/static/1738191712012436210724/原创 2013-10-15 11:01:41 · 113 阅读 · 0 评论 -
INNODB共享表空间转化成独立表空间几点说明
1.由共享表空间转为独立表空间时,新建的表,会生成独立表空间。2.共享表空间是永远存在的,即使你设置了innodb_file_per_table=1.因为有些数据永远是放在共享表空间里面的,具体哪些去手册里面查。 3.之前没设置独立表空间的表,即使后面设为独立表空间,但是历史数据仍然存在共享表空间里面。 3.1.原来的在共享表空间的表,新插入的数据,还会存入共享表空间。 ...原创 2013-10-17 13:59:56 · 234 阅读 · 0 评论 -
Decreasing the Size of the InnoDB Tablespace
Decreasing the Size of the InnoDB TablespaceCurrently, you cannot remove a data file from the tablespace. To decrease the size of your tablespace, use this procedure:Use mysqldump to dump all ...原创 2013-10-17 14:00:49 · 96 阅读 · 0 评论 -
名词解释system tablespace/ib_logfile/.ibd file/ibdata file/storage engine/tablespace
出自:http://dev.mysql.com/doc/refman/5.5/en/glossary.html system tablespaceA small set of data files (the ibdata files) containing the metadata for InnoDB-related objects (the data diction...原创 2013-10-18 11:05:01 · 133 阅读 · 0 评论 -
mysql官方手册对 Using Per-Table Tablespaces 的说明
参见:http://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html By default, all InnoDB tables and indexes are stored in the system tablespace. As an alternative, you can store each ...原创 2013-10-18 15:29:35 · 97 阅读 · 0 评论 -
MySQL环境变量(运行参数)详细配置
调整MySQL运行参数,修改/etc/my.cnf文件调整mysql运行参数,重启MySQL后生效。在MySQL4版本以后,一部分内部变量可以在MySQL运行时用cmd set xxx=xxx 进行设置,不过重启MySQL服务就失效了。 红色为常用的变量mysqld程序--目录和文件basedir = path # 使用给定目录作为根目录(安装目录)。data...原创 2013-10-12 08:41:31 · 669 阅读 · 0 评论 -
MySQL索引缺点&使用详细注意事项
以下主要介绍的是MySQL索引的缺点以及MySQL索引在实际操作中有哪些事项是值得我们大家注意的,我们大家可能不知道过多的对索引进行使用将会造成滥用,有兴趣的朋友可以了解下。 MySQL索引的缺点: 虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。 建立索引会占...原创 2013-10-11 16:49:17 · 256 阅读 · 0 评论 -
MySQL创建索引原则
索引是一种特殊的数据结构,可以用来快速查询数据库的特定记录,建立是一中提高数据库性能的重要方式。 内容:索引的意义,索引的设计,创建和删除 可参考的资料:http://www.51cto.com/specbook/52/12911.htm 索引简介索引是建立在表上的,有一列或者多列组成,并对这一列或者多列进行排序的一种结构。 所有存储引擎对每个表至少支持16...原创 2013-10-11 16:32:13 · 126 阅读 · 0 评论 -
JDBC用PreparedStatement完成批量添加vs普通添加
public class WeatherDao { private static Connection conn = null; private static PreparedStatement pstmt = null; /** * Author:Allison * Date:2013-04-02 * Description:执行批量添加 */ ...原创 2013-04-02 15:22:38 · 174 阅读 · 0 评论 -
GROUP BY分组查询与SQL执行顺序
在SQL中使用GROUP BY来对SELECT的结果进行数据分组,在具体使用GROUP BY之前需要知道一些重要的规定。GROUP BY子句可以包含任意数目的列。也就是说可以在组里再分组,为数据分组提供更细致的控制。如果在GROUP BY子句中指定多个分组,数据将在最后指定的分组上汇总。GROUP BY子句中列出的每个列都必须是检索列或有效的表达式(但不能是聚集函数)。如果在SEL...原创 2013-04-07 13:15:35 · 285 阅读 · 0 评论 -
mysql修改密码&忘记密码
1.使用mysql admin修改mysql密码C:\>mysqladmin -udbuser -p password newpassEnter password: oldpass当然用此命令的前提是你把mysql加入了环境变量,如果没有加入环境变量的话那只能在命令行下cd到mysqladmin所在的目录下与此那个次命令了!---------------------------------...原创 2013-04-26 10:36:38 · 68 阅读 · 0 评论 -
NoSQL数据库探讨 - 为什么要用非关系数据库?
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如: 1、High performance - 对数据库高并发读写的需求 web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信...原创 2013-01-21 16:06:59 · 77 阅读 · 0 评论 -
mysql必知必会读书笔记
第1章 1.1 数据库基础 1.1.1 什么是数据库 数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)。 误用导致混淆: 人们通常用数据库这个术语来代表他们使用的数据库软件。这是不正确的,它是引起混淆的根源。确切地说,数据库软件应称为DBMS(数据库管理系统) 数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在...原创 2013-01-23 11:47:29 · 134 阅读 · 0 评论 -
mysql5.0常用命令
MySQL常用操作基本操作,以下都是MySQL5.0下测试通过首先说明下,记住在每个命令结束时加上;(分号)1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导...原创 2013-01-26 10:00:05 · 313 阅读 · 0 评论 -
数据库设计的三大范式
数据库设计的三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。...原创 2013-01-31 16:54:59 · 88 阅读 · 0 评论 -
Hibernate之session
Hibernate在对资料库进行操作之前,必须先取得Session实例,相当于JDBC在对资料库操作之前,必须先取得Connection实例, Session是Hibernate操作的基础,它不是设计为执行绪安全(Thread-safe),一个Session由一个执行绪来使用。开启SessionSession实例由SessionFactory开启获得,例如:Configurat...原创 2013-01-31 16:55:32 · 73 阅读 · 0 评论 -
Hibernate程序性能优化的考虑要点
Hibernate程序性能优化的考虑要点本文依照HIBERNATE帮助文档,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料。 初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。 大体上,对于HIBERNATE性...原创 2013-02-04 08:06:16 · 64 阅读 · 0 评论 -
连接池中的maxIdle,MaxActive,maxWait参数
连接池中的maxIdle,MaxActive,maxWait参数name:表示你的连接池的名称也就是你要访问连接池的地址auth:是连接池管理权属性,Container表示容器管理type:是对象的类型driverClassName:是数据库驱动的名称url:是数据库的地址username:是登陆数据库的用户名password:是登陆数据库的密码 max...原创 2013-02-07 14:18:25 · 458 阅读 · 0 评论 -
MySQL主键设计时应注意的问题
学习MySQL数据库,MySQL主键是不能不提到的,下面就对MySQL主键的设计原则进行说明,希望能让您对MySQL主键有更深的认识。关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途:1. 惟一地标识一行。2. 作为一个可以被外键有效引用的对象。基于以上这两个用途,下面给出了我在设计物理层面的主键时所遵循的一些原则:1. MySQL主键应当是对...原创 2013-08-27 16:57:49 · 340 阅读 · 0 评论 -
SQL 内连接/左连接/右连接 关键字含义及用法实例
SQL join关键字 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在...原创 2014-02-26 10:10:10 · 3798 阅读 · 1 评论 -
mysql设计索引的原则
根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为 256 字节。大多数存储引擎有更高的限制。在 MySQL 5.1 中,对于 MyISAM 和 InnoDB 表,前缀可以达到 1000 字节长。请注意前缀的限制应以字节为单位进行测量,而 CREATE TABLE 语句中的前缀长度解释为字符数。当为使用多字节字符集的列指定前缀长度时一定...原创 2013-10-11 16:04:11 · 89 阅读 · 0 评论 -
加快ORDER BY 查询速度
以下内容来自mysql5.1手册:http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#explain想要提高 ORDER BY 的速度,首先要看MySQL能否使用索引而非额外的排序过程。如果不能使用索引,可以试着遵循以下策略: 增加 sort_buffer_size 的值。 增加 read_rnd_buffe...原创 2013-10-11 16:13:48 · 764 阅读 · 0 评论 -
mysql InnoDB引擎
前言:MySQL发展到今天,InnoDB引擎已经作为绝对的主力,除了像大数据量分析等比较特殊领域需求外,它适用于众多场景。然而,仍有不少开发者还在“执迷不悟”的使用MyISAM引擎,觉得对InnoDB无法把握好,还是MyISAM简单省事,还能支持快速COUNT(*)。本文是由于最近几天帮忙处理discuz论坛有感而发,希望能对广大开发者有帮助。1. 快速认识InnoDBInnoDB是MyS...原创 2013-10-11 16:29:34 · 67 阅读 · 0 评论 -
优化MySQL myisam、innodb表碎片
针对MyISAM表类型采用 OPTIMIZE TABLE table_name SQL语句清理碎片. InnoDB 使用的 Clustered Index,索引和数据绑定在一起,重排序是不现实的.所以不支持 MyISAM 式的 OPTIMIZE,而是绑定到了ALTER TABLE 命令上面.可以通过执行以下语句来整理碎片,提高索引速度:ALTER TABLE table_name E...原创 2013-10-18 15:54:16 · 164 阅读 · 0 评论