MySql
文章平均质量分 77
波哥的技术积累
这个作者很懒,什么都没留下…
展开
-
Mysql数据库常见乱码处理方式
***Mysql数据库常见乱码处理方式***------先分清是否是数据库乱码,如果是其它则用其它方式处理 说明:i>里面每条并不是说是一个解决办法,有时都要用到; ii>这些方法应该能解决常见的乱码问题,并且这些解决方法都很简捷。 1.在安装数据库的过程中将默认的拉丁文-->GBK。 2.在创建数据库时设置选择GBK或者gb2312。 3.Mysql安装目录下的my.ini文件,将 "default-character-set=xxxxx" 中的xxxxx改成GBK或者g转载 2011-05-27 10:48:00 · 974 阅读 · 0 评论 -
查询mysql当前连接数
1.show status Threads_connected 当前的连接数 Connections 试图连接到(不管是否成功)MySQL服务器的连接数。 Max_used_connections 服务器启动后已经同时使用的连接的最大数量。2.set GLOBAL max_connections=连接数; flush privileges 3转载 2012-08-23 23:06:06 · 42231 阅读 · 0 评论 -
MySql存储引擎MyISAM和Innodb的不同
原创 2012-10-05 18:11:09 · 851 阅读 · 0 评论 -
Mysql的正则表达式查询
select * from info where name REGEXP '^L';select * from info where name REGEXP '^aaa';select * from info where name REGEXP 'c$';select * from info where name REGEXP 'aaa$';select * from info w原创 2012-11-11 23:44:33 · 839 阅读 · 0 评论 -
条件化简(二)
从上图中可以看到mysql没有进行优化 where条件为false,不成立,因为c列为索引列,定义时指明了not null;原创 2015-01-24 22:24:31 · 801 阅读 · 0 评论 -
Mysql子查询优化技术
1:子查询优化的思路 1.1 子查询合并(Subquery Coalescing) 在某些条件下(语义等价:两个查询块产生同样的结果集),多个子查询能够合并成一个子查询(合并后还是子查询,可以通过其他方式消除子查询), 这样可以把多次表扫描、多次连接减少为单次表扫描和单次连接。 select * from work_list wl wh原创 2015-01-11 11:13:52 · 2349 阅读 · 0 评论 -
外连接消除、嵌套连接消除与连接消除
图:什么是外连接 A表和B表共同的部分,即为内连接操作 图:分别执行了内连接和外连接原创 2015-01-26 23:16:02 · 1840 阅读 · 0 评论 -
Mysql的等价谓词重写
总之,存在以下规则:1:LIKE规则:是对LIKE谓词的等价重写,即改写LIKE谓词为其他等价的谓词,以更好地利用索引进行优化2:BETWEEN-AND规则:是BETWEEN-AND谓词的等价重写,即改写BETWEEN-AND谓词为其他等价的谓词,以更好地利用索引进行优化3:IN转换OR规则:IN转换OR规则,就是IN谓词的OR等价重写,即改写IN谓词为等价的OR谓词,以更好地利用索引原创 2015-01-17 20:56:54 · 2346 阅读 · 0 评论 -
MySql中的视图重写
物化技术:对子查询进行优化时,可以把子查询的结果保存在内存中,提高查询效率,达到一种物化的效果。 物化视图:是把视图的sql语句部分的数据保存下来,视图只有定义部分,没有数据部分,但是物化视图有数据部分。 视图分为简单视图和复杂视图,是为了为sql的优化进行的说明。原创 2015-01-17 00:13:50 · 1484 阅读 · 0 评论 -
mysql-数据库的约束规则与语义优化
实体完整性:实体与数据库中表的映射关系; 域完整性:实体的部分如何保证值是正确的; 参照完整性:实体与其他实体的关系,有主外键的关系; 用户自定义完整性:从用户的角度,如何保证实体或者实体的一部分是正确的; 主键是不允许空值,它唯一标识一个实体;原创 2015-02-06 23:19:26 · 863 阅读 · 0 评论 -
条件化简(一)
过滤和多表连接两种形式的表达式Mysql在实际编译时可能不支持这项技术,请注意! Mysq不支持这种优化,但可以通过人为来进行优化。 扩号被消除了原创 2015-01-24 21:35:57 · 932 阅读 · 0 评论 -
非SPJ的优化
非SPJ的查询还包括Order by和distinct,由于group by导致语义发生了变化。原创 2015-02-09 23:30:25 · 1078 阅读 · 0 评论 -
TPC-H
图:TPC-H官网 QphH:表示每小时查询的个数; 图:100G和300G的数据测试结果 注意SF*200000中的SF是一个动态的值 S_NATIONKEY表示该供货商来自原创 2015-03-18 23:48:33 · 3935 阅读 · 0 评论 -
关系代数对于数据库的查询优化的指导意义
利用上面的规则,我们就可以求出不同的连接次序,从而求出最优的一个连接次序。(1)多次投影操作转化为一次投影操作;在一个条件上的多次操作可以转化为一个操作;原创 2015-03-25 22:18:24 · 2802 阅读 · 0 评论 -
Mysql物理查询技术
逻辑查询优化主要基于代数理论与启发式规则。 (1):是全盘扫描最优,还是基于索引的扫描最优;对于单表扫描,主要还是看磁盘IO; (2):不同表的连接方式,有不同的消耗;块嵌套循环连接算法,基于Hash的连接,排序归并连接; (3):考虑哪一种连接的花费是最少的; 图:物理查询优化技术 如果选择率低于10%,原创 2015-03-05 23:28:14 · 1300 阅读 · 0 评论 -
Mysql索引优化
(1)InnoDB存储引擎的索引为主键索引;(2)从多个索引选择最优的执行计划时需要花费时间;(3)如果存在大量的更新,插入或者删除,那么索引需要实时的维护;(4)在数据库内核实现索引是非常复杂的,如何最大程度的满足并发,以及如何需要慎重使用索引,而不是盲目的使用索引。(1)单表扫描的花费为C1,使用索引扫描的花费为C2,进一步判断C1和C2的关系,如果C2小,原创 2015-03-11 23:39:07 · 673 阅读 · 0 评论 -
MySQL的优化技术总结
如果Cache很大,把数据放入内存中的话,那么瓶颈可能是CPU瓶颈或者CPU和内存不匹配的瓶颈;seek定位的速度,read/write即读写速度;硬件的提升是最有效的方式;innodb_buffer_pool_size:配置innodb的数据缓冲池的大小来提高整体效率,可用内存即除去系统软件等内存后的内存大小;innodb_buffer_pool_instances:原创 2015-03-30 23:18:21 · 736 阅读 · 0 评论 -
mysql 添加列,修改列,删除列
ALTER TABLE:添加,修改,删除表的列,约束等表的定义。查看列:desc 表名;修改表名:alter table t_book rename to bbb; 添加列:alter table 表名 add column 列名 varchar(30); 删除列:alter table 表名 drop column 列名; 修改列名MySQL: alter table bbb转载 2012-08-09 15:01:09 · 809 阅读 · 0 评论 -
mysql int(3)与int(11)的区别
总结,int(M)zerofill,加上zerofill后M才表现出有点点效果,比如int(3)zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明.mysql> createta转载 2012-08-06 14:55:02 · 1262 阅读 · 0 评论 -
MySql插件式的存储引擎
1:插件式的存储引擎大概是Mysql最独特的功能了,其他品牌的数据库系统没有一个能像Mysql这样在文件访问层具有如此大的灵活性和可扩展性。 2:MyISAM 为了提高访问速度,这类表普遍使用了数据压缩和索引优化技术,此外MyISAM存储引擎还为并发操作准备了表级的锁定机制,MyISAM存储机制的优点是可靠性高、适用范围广、数据检索速度更快。在强调数据检索速度(读性原创 2012-05-17 21:03:10 · 2535 阅读 · 0 评论 -
修改MYSQL数据库,数据表,字段的编码(解决JSP乱码)
<br />要解决JSP乱码,首先就要了解JSP乱码的原因<br />1.架设服务器安装MYSQL时的会让你选择一种编码,如果这种编码与你的网页不一致,可能就会造成JSP页面乱码<br />2.在PHPMYADMIN或mysql-front等系统 创建数据库时会让你选择一种编码,如果这种编码与你的网页不一致,也有可能造成JSP页面乱码<br />3.创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成JSP页面乱码<br />4.创建表时添加字段是可以选择编码的,如果这种编码与你的网页编转载 2011-05-30 09:37:00 · 1144 阅读 · 0 评论 -
Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP
在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp类型的数据。在这里既不能使用 ResultSet.getDate(),也不能使用ResultSet.getTime(),因为前者不包括time数据,后者不包括date数据。但是在使用ResultSet原创 2011-06-21 14:59:00 · 22741 阅读 · 1 评论 -
mysql常用的日期加减函数与实例教程
MySQL 日期类型MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- -------------转载 2011-07-05 12:58:10 · 1382 阅读 · 0 评论 -
Mysql数据库定时任务
create event myDelete on schedule every 1 minute starts timestamp '2011-7-5 10:36:00'do update ju_award set authen=0 where startti原创 2011-07-05 15:41:16 · 9904 阅读 · 0 评论 -
修改MySql默认编码
安装MySQL之后修改编码方式MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。1、需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root转载 2011-07-06 23:19:04 · 4933 阅读 · 0 评论 -
mysql数据库修改数据库编码,字段编码与表编码
1.修改数据库的编码 将数据库(test)的编码方式修改为utf8,如: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; 2.修改表的编码 将表(test)的编码方式修改为utf8,转载 2011-07-09 23:55:16 · 5665 阅读 · 2 评论 -
MySQL 远程连接配置的正确实现
此文章主要向大家描述的是MySQL 远程连接配置的实际操作步骤,以及在其实际操作中值得我们大家注意的相关事项的描述, 以下就是具体方案的描述,希望在你今后的学习中会有所帮助。MySQL远程配置GRANT ALL PRIVILEGES ON *.* TO root@转载 2011-09-08 19:52:49 · 2263 阅读 · 0 评论 -
Java和mysql的数据类型对应
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 字符型BLOB L+N BLOB jav原创 2011-08-30 13:26:43 · 40563 阅读 · 0 评论 -
存储过程的一些积累
以下介绍下存储过程的基本语法和常用函数一.创建存储过程1.基本语法:create procedure sp_name()begin………end2.参数传递二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递三.删除存储过程1.基本语法:drop procedure sp_nam转载 2011-11-09 19:44:34 · 898 阅读 · 0 评论 -
mysql存储过程 在动态SQL内获取返回值
MySql通用分页存储过程 过程参数 p_cloumns varchar(500),p_tables varchar(100),p_where varchar(4000),p_order varchar(100),p_pageindex int,p_pagesize int,out p_recordcount int,out p_pagecount int $:begin d转载 2011-11-09 19:49:05 · 9884 阅读 · 0 评论 -
Hibernate调用mysql存储过程,返回多个参数的方法
1:创建存储过程的语句 DELIMITER $;DROP PROCEDURE IF EXISTS `xx`.`findUVCountByTime`$CREATE PROCEDURE `xx`.`findUVCountByTime` (in querySql varchar(255), out startUpNum int(11), out closeDownNum int(原创 2011-11-09 19:53:14 · 5330 阅读 · 0 评论 -
sql的 INNER JOIN, left join,right join语法
inner join(等值连接) 只返回两个表中联结字段相等的行 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录INNER JOIN 语法:INNER JOIN 连接两个数据表的用法:SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段转载 2012-02-10 11:20:10 · 899 阅读 · 0 评论 -
Mysql 唯一性约束 AK
数据库:唯一性约束_alternate key(替换键) mySQL Oracle 数据库 ak 唯一性约束 数据库:唯一性约束 所谓唯一性约束(unique constraint)不过是数据表内替代键的另一个名称而已。替代键(alternate key)可以是数据表内不作为主键的其他任何列,只要该键对该数据表唯一即可。换句话说,在唯一列内不允许出现数据重复的现象。比方说,你可转载 2012-02-22 18:01:32 · 14076 阅读 · 0 评论 -
PowerDesigner + 反向工程 + 数据字典
1. 打开 PowerDesinger 12.1。2. 打开 File--Reverse Engineer--Database。3. 在New Physical Data Model中选择数据库驱动。设置Model name。选择DBMS驱动,如 ORACLE Version9i2。其余默认。确定。4. 在Database Reverse Eng转载 2012-03-01 10:09:16 · 781 阅读 · 0 评论 -
mySQL查询优化
糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响。 如同其它学科,优化查询性能很大程度上决定于开发者的直觉。幸运的是,像MySQL这样的数据库自带有一些协助工具。本文简要讨论诸多工具之三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置。 一、使用索引 MySQL允许对数据库表进行索引,以转载 2012-04-21 22:40:34 · 951 阅读 · 0 评论 -
Mysq查询优化器
1: Mysq查询优化器采用了“选取-投影-联结”策略来处理查询,即先根据有关的限制条件进行选取(select操作)以减少将要处理的元祖的个数,再进行投影(对应关系代数里的投影操作)以减少被选取元祖里的属性(字段)的个数,最后根据连接条件生成最终的查询结果。 它使用的规则如下: * 通过计算where子句里的表达式来横向排除多余的数据 *只保留在属性(字段)清原创 2012-05-17 16:57:49 · 1326 阅读 · 0 评论 -
MySql优化的问题分析、方法和思考
系统经过一段时间的运行后,如果Com_select的总数比Com_insert、Com_update和Com_delete的总数远远大于,那么说明该系统是一个OLAP的系统; 通过该语句显示sq原创 2015-04-07 22:10:58 · 1057 阅读 · 0 评论