(mysql)临时表的使用
使用临时表的好处:
使用临时表存放中间结果,加速查询,或存放临时结果.
(1)
创建临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
value INTEGER NOT NULL
)
(2)
临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时
候删除表并释放空间。
DROP TABLE tmp_table -- 不用加temporary
(2.2)
临时表的常用方法:
create temporary table temp_user select * from user;
(3)
如果在你创建名为tmp_table临时表时名为tmp_table的表在数据库中已经存在,临时表将有必要屏蔽(隐藏)非临时
表tmp_table。
(4)
使用临时表加速查询
把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简
化优化器的工作。例如:
SELECT cust.name,rcvbles.balance,……other columns
from cust,rcvbles
WHERE cust.customer_id = rcvlbes.customer_id
AND rcvblls.balance>0
AND cust.postcode>“98000”
ORDER BY cust.name
如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字
进行排序:
SELECT cust.name,rcvbles.balance,……other columns
from cust,rcvbles
WHERE cust.customer_id = rcvlbes.customer_id
AND rcvblls.balance>0
ORDER BY cust.name
INTO TEMP cust_with_balance
然后以下面的方式在临时表中查询:
SELECT * from cust_with_balance
WHERE postcode>“98000”
临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大
幅减少。
相关文档:
一般在MYSQL使用中文查询
都是用 set NAMES character
character_set_client ,这是用户告诉MySQL查询是用的什么字符集。
character_set_connection ,MySQL接受到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集。
character_set_results , MySQL将存储的数据转换成charact ......
MySQL-client-community-5.0.41-0.rhel4.i386.rpm # 客户端
MySQL-devel-community-5.0.82-0.rhel4.i386.rpm   ......
Windows:
1. 用系统管理员登陆系统。
2. 停止MySQL的服务。
3. 进入命令窗口(cmd),然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin
4. 跳过权限检查启动MySQL,
c:\mysql\bin>mysqld-nt --skip-grant-tables
5. 重新打开一个cmd窗口,进入c:\mysql\b ......
MySQL重新安装的时候出现了问题:Could not start the service MySQL. Error:0,原因是没有对旧的MySQL完全卸载掉。
在你从电脑里卸载旧的MYSQL数据库服务时,首先先在WINDOWS服务里停掉MYSQL的服务。再到控制面板里的增加删除程序内进行删除,然后手动删除原安装文件,但是你并不能完整的把MYSQL服务删 ......
分页功能的实现是每种WEB开发语言必须要实现的功能。PHP也好,JSP也罢。我准备用两个方法来阐述PHP+MYSQL实现分页的功能。
一、分页程序的原理
分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源, ......