易截截图软件、单文件、免安装、纯绿色、仅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:万恶的乱码之when语句中产生的乱码

使用mysql又遇到问题了,这次是关于乱码的...
其实我也比较了解编码的问题,也知道乱码产生的原理,而且网上对mysql的乱码问题也有比较多的解答,
但是今天我遇到的这个乱码却比较奇怪,在when语句中产生了奇怪的乱码。
create table my_table(id int, name varchar(50), born DateTime);
insert into my_table val ......

取mysql表和字段注释

 取mysql表和字段注释的语句
1、取字段注释
Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释
from INFORMATION_SCHEMA.COLUMNS
Where table_name = 'companies'##表名
AND table_schema = 'testhuicard'##数据库名
AND column_name LIKE 'c_name'##字段名
2、取得表注释
Select tab ......

MySQL的my.cnf优化实例

http://linux.chinaitlab.com/MYSQL/524755_2.html
http://bbs.chinaunix.net/archiver/?tid-809159.html
 在Apache, PHP,
MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接
影响到论坛的速度和承载量!同时,MySQL也是优化难度最大 ......

Mysql 定义字段的长度

 
Mysql 中定义字段后的数据的用处:
int(1)和int(10)似乎没有什么差别,都表示最大四个字节的整型数据。
例如定义一个名字为test的表:
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(1) NOT NULL,
  `ids` int(10) default NULL,
  `c` char(1) default NULL,
  `cs` ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号