mysql优化(续)
在对mysql进行调试的时候,由于mysql存在query缓存,常常不能反映真实情况。
有时候,有没有使用FLUSH
QUERY
CACHE的权限;
在 query_cache_type 打开的情况下,如果你不想使用缓存,需要指明
select sql_no_cache id,name from tableName;
或者还有更简单的办法,修改一下sql里某个字母的大小写,(奇怪为什么这样也可以,但是就是可以)
这样就可以不使用缓存啦
相关文档:
my.ini里的那个tmp_table_size的值.原来tmp_table_size=16M.我改为32M
然后重启MYSQL还是没解决问题.
只好重启服务器试试了,结果重启后CPU正常了.不过还是没找出是什么原因导致MYSQL占用那么多CPU资源.
=====================================
修改hosts文件,加入一行
172.16.59.12 & ......
6
、修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
6
、创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;
通过配置文件设置创建数据库时字符集:
#vi /var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-col ......
<?php
/**
* Mysql DB
*
* @author Administrator
* @package defaultPackage
*/
class MySqlDB{
private $_db;
private static $_instance;
private function __construct(&$db_type){
global $connectionstr;
$conn_db=$connectionstr[$db_type];
$this->_db=mysql_pconnect($conn ......
如何创建内存表
?
创建内存表非常的简单,只需注明 ENGINE=
MEMORY 即可:
CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL)
ENGINE=MEMORY DEFAULT CHARSET=utf8 MAX_ROWS=100000000;
注意
:
当内存表中的数据大于max_ ......
首先看MySQL 5.0参考手册中关于创建存储过程的语法说明:
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
......