易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL使用技巧心得

 
2009年10月30日 星期五 22:53
用mysql
内置函数转换ip地址和数字
利用两个内置函数
inet_aton:将ip地址转换成数字型
inet_ntoa:将数字型转换成ip地址
充分利用mysql内置的
format
函数
尤其是在处理字符格式的时候,例如将12345转换成12,345这样的,只要用:format(12345,0)即可,如果用format(12345,2)则显示的是12,345.00了...
利用mysql的内置函数处理时间戳问题
eg : select from_UNIXTIME(UNIX_TIMESTAMP(),'%Y %D %M %h:%i:%s %x');
结果: 2004 3rd August 03:35:48 2004
利用mysql_convert_table_format转换表类型
需要DBI和DBD的mysql相关模块支持才能用,例子:
mysql_convert_table_format --user=root --
password
='xx' --type=myisam test yejr
修改mysql表中的字段名
alter
table
tb_name change old_col new_col definition...
利用临时变量
select @var1:=a1+a2 as a_sum,@var2:=b1+b2 as b_sum,@var1+@var2 as total_sum from test_table xxx;

int
类型存储ip地址
原先错误的认为必须用bigint才够,后来发现使用int unsigned类型就足够了。 :)
利用IF函数快速修改ENUM字段值
一个例子:
update rule
set
enable = if('0' = enable,'1','0') where xxx;
enable 类型:enum('0','1') not null default '0'
事务无法嵌套
避免长时间的sleep连接造成的连接数超出问题
设定全局变量 wait_timeout 和 interactive_timeout 为比较小的值,例如
10(s),就能使每个sleep连接在10s之后如果还没有查询
的话自动断开。
设定mysql客户端的提示符(prompt)
export MYSQL_PS1="(\\u:\\h:)\\d> "
则用 mysql -hlocalhost -uroot -pxx db_name 登录后,提示符变成:
(root:localhost:)db_name>
好用吧 :), 时时刻刻提醒你在哪个服务器上,尽量避免误操作的发生
更详细的请查看MySQL手册
整理MyISAM碎片
1.) 定期运行 OPTIMIZE TABLE 命令即可
2.) 用mysqldump出数据,然后重新
import
回去,这对大表来说显然第一种方法比较方便
整理Innodb碎片
1.) 运行NULL命令, ALTER TABLE XXX ENGINE=Innodb;
2.) 同上的mysqldump方法
MySQL如果认为检索的记录数量超过总记录数的30%,则选择全表扫描,而非使用索引
MySQL 5.0.3之后,VARCHAR字段后面的空格就不再删除
升级到4.1.1或更高后,就很难降级回到4.0或4.1了,因为 InnoDB 使用了多个表空间的缘故
MySQL 4.1之后,MySQL把


相关文档:

Mysql分布事务的探索

由于项目需要,对mysql分布事务有一定要求.这里先简单说明必要.
假设,日常财务中,要完成一个拥护订购,必须将定单操作和财务操作封在一个事务中才能保证交易完整性.
如果定单和财务数据都分布在各自的实例中,则必须用分布事务才能满足.
废话不多,进入分布事务探索。
(本文例子来自网络,本文只注重探索)
1.在本机 loca ......

如何修复损坏的MySQL数据表

 断电或非正常关机而导致MySQL(和PHP搭配之最佳组合)数据库出现错误是非常常见的问题。有两种方法,一种方法使用MySQL(和PHP搭配之最佳组合)的check table和repair table 的sql语句,另一种方法是使用MySQL(和PHP搭配之最佳组合)提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. ......

MySQL数据库之UPDATE更新语句精解

 
一、INSERT和REPLACE
INSERT和REPLACE语句的功能都是向表中插入新的数据。这两条语句的语法类似。它们的主要区别是如何处理重复的数据。
1. INSERT的一般用法
MySQL中的INSERT语句和标准的INSERT不太一样,在标准的SQL语句中,一次插入一条记录的INSERT语句只有一种形式。
INSERT INTO tablename(列名…) ......

linux下查看nginx,apache,mysql,php的编译参数

有时候nginx,apache,mysql,php编译完了想看看编译参数可以用以下方法
nginx编译参数:
#/usr/local/nginx/sbin/nginx -V
CODE:
nginx version: nginx/0.6.32
built by gcc 4.1.2 20071124 (Red Hat 4.1.2-42)
configure arguments: --user=www --group=www --prefix=/usr/local/nginx/ --with-http_stub_status_mo ......

有关于Mysql的MERGE表类型

 他将多个表在逻辑上当作一个表来查询。他建立后有两个文件,
  .frm 表结构定义
  .mrg union表的名字清单
  两个基本表:
  CREATE TABLE TEST_MERGE_1(
  ID INT(5) NOT NULL,
  VALUE VARCHAR(100) NOT NULL,
  PRIMARY KEY(ID)
  )
  CREATE TABLE TEST_MERGE_2(
  ID INT(5) NOT N ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号