随笔分类 -  MySQL

[转]mysql分表的3种方法
摘要:一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。 mysql中有一种机制是表锁定和行锁定,为什么要出现这种机制,是为了保证数据的完整性,我举个例子来说吧,如果有二个 阅读全文

posted @ 2011-01-28 17:30 freeliver54 阅读(5036) 评论(1) 推荐(4) 编辑

[转]添加mysql索引的3条原则
摘要:一,索引的重要性 索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。注意如果你需要访问大部分行,顺序读取要快得多,因为此时我们避免磁盘搜索。 假如你用新华字典来查找“张”这个汉字,不使用目录的话,你可能要从新华字典的第一页找到最后一页,可能要花二个小时。字典越厚呢,你花的时间就越多。现在你使用目录来查找“张”这个汉字,张的首字母是z,z开头的汉字从900多页开始,有了这条线索,你查找一个汉字可能只要一分钟, 阅读全文

posted @ 2011-01-28 17:06 freeliver54 阅读(511) 评论(0) 推荐(0) 编辑

[转]mysql 利用触发器(Trigger)让代码更简单
摘要:一,什么触发器1,个人理解触发器,从字面来理解,一触即发的一个器,简称触发器(哈哈,个人理解),举个例子吧,好比天黑了,你开灯了,你看到东西了。你放炮仗,点燃了,一会就炸了。2,官方定义触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。触发器有一个非常好的特性就是:触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的 阅读全文

posted @ 2011-01-28 16:56 freeliver54 阅读(4940) 评论(0) 推荐(1) 编辑

[转]Mysql 日期时间 DATE_FORMAT(date,format)
摘要:本文转自:http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_date-formatDATE_FORMAT(date,format) Formats the date value according to the format string. The following specifiers may be used in the format string. As of MySQL 3.23, the “%” character is required before format specif 阅读全文

posted @ 2010-12-08 21:30 freeliver54 阅读(2753) 评论(1) 推荐(0) 编辑

通过winfrom界面 修改Mysql的用户(root)的密码
摘要:处理思路:1、利用MySql.Data.MySqlClient 验证当前的数据库连接信息是否正确;2、调用命令行 执行C:\\mysql\\bin\\mysql 的 SET PASSWORD 进行用户密码修改;3、利用新的用户密码 重新验证对数据库的连接是否正确;4、成功或失败的提示;示例代码:代码Code highlighting produced by Actipro CodeHighligh... 阅读全文

posted @ 2010-10-27 13:04 freeliver54 阅读(451) 评论(1) 推荐(0) 编辑

mysql 判断是否已存在及插入表数据 的 简单存储过程
摘要:处理思路:1、查找判断 相同数据是否已存在2、如不存在,则执行Insert操作CREATE PROCEDURE `mysql_sp_insert_data`( IN p_TableName varchar(100) --表名, IN p_ColumnNames varchar(200) --字段组合 ,以","分隔, IN p_ColumnDatas varchar(500) --数据组成 ,以"... 阅读全文

posted @ 2010-10-14 19:19 freeliver54 阅读(9718) 评论(0) 推荐(0) 编辑

mysql 修改表结构 判断并添加column 的 简单存储过程
摘要:处理思路:1、查找表结构,判断要加入的列是否已存在2、如果不存在,则执行添加CREATE PROCEDURE `mysql_sp_add_column`( IN p_DBName varchar(64) --数据库名, IN p_TableName varchar(100) --表名, IN p_ColumnName varchar(100) --字段名, IN p_ColumnType varc... 阅读全文

posted @ 2010-10-14 18:39 freeliver54 阅读(1844) 评论(1) 推荐(0) 编辑

[转]MySQL 定时器EVENT学习
摘要:本文转自:http://home.searchfull.net:8080/2398965-mysql+定时+event+.htmlMySQL从5.1开始支持event功能,类似oracle的job功能。有了这个功能之后我们就可以让MySQL自动的执行数据汇总等功能,不用像以前需要操作的支持了。如linux crontab功能。创建测试表 C... 阅读全文

posted @ 2010-10-09 13:06 freeliver54 阅读(2385) 评论(0) 推荐(0) 编辑

mysql : Lock wait timeout exceeded; try restarting transaction
摘要:原因是你使用的InnoDB 表类型的时候,默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,因为有的锁等待超过了这个时间,所以抱错.你可以把这个时间加长,或者优化存储过程,事务避免过长时间的等待.my.ini文件:#innodb_lock_wait_timeout = 50-》innodb_lock_wait_timeout = 500重启mysql服务。 阅读全文

posted @ 2010-09-30 08:25 freeliver54 阅读(48215) 评论(1) 推荐(1) 编辑

c#将字符串内容保存到纯utf8(无BOM)文件
摘要:System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false);File.WriteAllText(FilePath, strContent, utf8); 阅读全文

posted @ 2010-09-27 21:50 freeliver54 阅读(5494) 评论(0) 推荐(0) 编辑

Mysql利用Mysqldump备份 及还原数据库
摘要:命令行备份C:\...\mysql\bin>mysqldump -uYongHuMing -pMiMa mydbname > c:\\a.txt还原C:\...\mysql\bin>mysql -uYongHuMing -pMiMa mydbname < c:\\a.txt 阅读全文

posted @ 2010-09-27 10:05 freeliver54 阅读(851) 评论(3) 推荐(0) 编辑

[转]mysql乱码关键处理总结
摘要:本文转自:http://anti-pure.javaeye.com/blog/206912原文如下:mysql乱码处理总结: (1)java中处理中文字符正常,在cmd client中显示乱码是字符集的问题. (2)字段长度设置够长,但插入中文字符时提示com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for co... 阅读全文

posted @ 2009-09-25 14:43 freeliver54 阅读(1379) 评论(4) 推荐(0) 编辑

MySQL命令行 不同端口登录 执行SQL文件 创建用户 赋予权限 修改root密码
摘要:0.安装MySQL服务1.[不同端口登录] 通过开始菜单-> 程序-> MySQL-> MySQL Command Line Client 通过输入密码Enter password:******进行登录 该MySQL服务端口已定 或者 通过运行命令->C:\Program Files\MySQL\MySQL Server 5.2\bin> 然后利用mysql进行登录 ... 阅读全文

posted @ 2009-07-25 18:02 freeliver54 阅读(5420) 评论(1) 推荐(0) 编辑

PowerDesigner 修改 MySQL数据库的 Table或DataBase的 ENGINE类型 为InnoDB 或 ISAM 等
摘要:1.打开powerdesigner2.选择File->New 打开New对话框 选择Model type 下的 Physical Data Model 选择DBMS为MySQL5.03.通过工具图标 新建一个Table 在Table的属性窗口 选择Physical Options页签4.选择左侧列表的type=(ISAM) 点击>> 可将其选择到右侧列表 选择右侧的type=(... 阅读全文

posted @ 2009-05-13 11:58 freeliver54 阅读(3327) 评论(0) 推荐(0) 编辑

[引]MySQL帮助文档之Cursors游标
摘要:Simple cursors are supported inside stored procedures and functions. The syntax is as in embedded SQL. Cursors are currently asensitive, read-only, and non-scrolling. Asensitive means that the serve... 阅读全文

posted @ 2009-01-05 16:03 freeliver54 阅读(493) 评论(0) 推荐(0) 编辑

[转]mysql临时表功能
摘要:本文转自:http://www.lupaworld.com/30912/viewspace_24024.html 原文如下: 本来以为mysql没有sqlserver的with类似的功能 不过后来在myql的参考手册的一个小小的旮旯窝里发现了少的那么几条的临时的建立和使用方法 CREATE TEMPORARY TABLE tmp ( article INT(4) UNSIGNED ... 阅读全文

posted @ 2009-01-05 15:49 freeliver54 阅读(2626) 评论(3) 推荐(0) 编辑

[转]MySQL 行号
摘要:本文转自:http://xi5566.javaeye.com/blog/204753 select *,(select count(*)+1 from table where table.userId<a.userId )as rowId from table as a 注意这里的userId一定要是自增长 阅读全文

posted @ 2008-12-23 20:47 freeliver54 阅读(843) 评论(1) 推荐(0) 编辑

[转]mysql alter 语句用法,添加、修改、删除字段等
摘要://主键 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id); //增加一个新列 alter table t2 add d timestamp; alter table infos add ex t... 阅读全文

posted @ 2008-12-20 13:20 freeliver54 阅读(854) 评论(2) 推荐(0) 编辑

[转]sqlserver 数据类型 及使用考虑
摘要:本文转自:http://www.cnblogs.com/auiso/archive/2006/09/02/492796.html 在 Microsoft® SQL Server™ 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money 等等)的特性。SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有... 阅读全文

posted @ 2008-11-26 08:47 freeliver54 阅读(747) 评论(0) 推荐(0) 编辑

[转]MySQL优化之COUNT(*)效率
摘要:1.任何情况下SELECT COUNT(*) FROM tablename是最优选择; 2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 这种查询; 3.杜绝SELECT COUNT(COL) FROM tablename的出现。 COUNT(*)与COUNT(COL) 网上搜索了下,发现各种说法都有: 比如认为COUNT(... 阅读全文

posted @ 2008-09-09 09:39 freeliver54 阅读(15664) 评论(4) 推荐(0) 编辑

导航