MYSQL引擎简单对比
服务器业务类型对比 性能瓶颈
DB I/O磁盘
转发服务器 网卡PPS
动态WEB前台 CPU
静态WEB前台 网卡 (流量)
ACID原则
MYSQL 引擎
MYISAM 表锁 低并发使用 非簇INDEX
INNODB 行锁 高并发使用 簇INDEX
建表:
MYISAM
按获取的值一个个创建,不会进行排序。如 1,aa;13,aa;11,aa 输入,在数据表中为1,aa;13,aa;11,aa三条记录
INNODB
进行排序后创建。如 1,aa;13,aa;11,aa 输入,在数据表中为1,aa;11,aa,13,aa三条记录
原因是什么?非簇INDEX关系
查询
ID是INDEX
MYISAM
select count(*) from xxx; 快
因为是统计量另存一个地方,直接去取值
select * from xxx where id>1; 慢
非簇INDEX关系,索引KEY存放在一个节点,数据放在另一地方,通过指针获取。
select id from xxx where id>1; 快
只读取索引列表
INNODB
select count(*) from xxx; 慢
一行行统计
sleect * from xxx where id>1; 快
簇INDEX关系,索引KEY和数据放在一地方。
select id from xxx where id>1; 慢
一个个去读。
写给自己看,初步理解,有待加强,错误难免。
如何写表名或者字段名是变量的参数查询?
declare @sql varchar(200)
set @sql='select * from ' + @table_name
execute(@sql)
相关文档:
-static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
静态链接提高13%性能
Unix Socket 7.5%
--with-unix-socket path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
--enab ......
If you set it in the cnf(it may be my.ini file) you will likely need to restart the server. Optionally, that is a dynamic variable and can be SET GLOBAL or SET SESSION from the command line as well.So just do as follows.
mysql>show variables like’max_allowed_packet’;
......
[转 mysql安全设置]
使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:
1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。
2.用set password语句来修改用户的密码,三个步骤,先“mysql -u root”登陆数据库系统,然后“my ......
<?php
$db_name="new";
mysql_connect("localhost","root","123456");
mysql_select_db($db_name);
$tb=mysql_list_tables($db_name);
$sql="";
while($query=mysql_fetch_row($tb)){
$sql="";$table_sql="";
$sql.= get_table_fn($query[0]);
get_table_row($que ......
CREATE DEFINER=`root`@`%` FUNCTION `sp_cn`(n_LowerMoney decimal(15,2)) RETURNS varchar(200) CHARSET utf8
begin
Declare v_LowerStr VARCHAR(200) ;
Declare v_UpperPart VARCHAR(200) ;
Declare v_UpperStr VARCHAR(200) ;
Declare i_I int ;
set v_LowerStr = LTRIM(RTRIM(ROUND(n_LowerMoney,2 ......