每次得到表的行数时总要用count(*),但是如果数据量较大,用count(*)且后面有条件时,例如select count(*) from table where status=1 (例如status是删除的状态位)结果准确但是时间太长,若去掉status=1这个条件速度没的说,但是结果却不是我想要的status=1的准确值,请问有没有好的办法解决这个问题, 另:昨天听mysql中国的技术支持说求表的总行数可以用count_row(),这个值是存到内存里去的,但是我没有找到这个函数,只找到个row_count(),...
by lgmyxbjfu - MySQL - 2008-01-25 11:18:29 阅读(1686) 回复(0)
每次得到表的行数时总要用count(*),但是如果数据量较大,用count(*)且后面有条件时,例如select count(*) from table where status=1 (例如status是删除的状态位)结果准确但是时间太长,若去掉status=1这个条件速度没的说,但是结果却不是我想要的status=1的准确值,请问有没有好的办法解决这个问题, 另:昨天听mysql中国的技术支持说求表的总行数可以用count_row(),这个值是存到内存里去的,但是我没有找到这个函数,只找到个row_count(),...
请问高手,固定的新表可以创建,临时表却不能创建,我只是在前面加了TEMPORARY关键子,我下面这句话错在哪里,为什么不能创建临时表?我用的是mysql. 我的mysql版本是3.23.51-nt.版本应该没有问题. 会不会是mysql系统方面的问题? Cnn.Execute "create TEMPORARY table Temp(Station char(1)NOT NULL,Employee_ID varchar(10)NOT NULL,Name varchar(20),English_Name varchar(20));" 谢谢赐教!!!
由于直接使用临时表来创建中间表,其速度不如人意,因而就有了把临时表建成内存表的想法。但内存表和临时表的区别且并不熟悉,需要查找资料了。 一开始以为临时表是创建后存在,当连接断开时临时表就会被删除,即临时表是存在于磁盘上的。而实际操作中发现临时表创建后去目录下查看发现并没有发现对应的临时表文件(未断开链接).因而猜测临时表的数据和结构都是存放在内存中,而不是在磁盘中. 这样一想内存表不是也是存在在内...
请问高手,我用下面的语句格式可以创建固定表,但加了TEMPORARY关键子后就不能创建临时表,为什么不能创建临时表?我的mysql版本是3.23.51-nt, root账号,后有人建议我说mysql 4.0.18肯定可以我就又换到mysql 4.0.18,但是还是不可以。 Cnn.Execute "create TEMPORARY table Temp(Station char(1)NOT NULL,Employee_ID varchar(10)NOT NULL,Name varchar(20),English_Name varchar(20));" 我在服务器端单独建临时表是可以的...
请问高手,我用下面的语句格式可以创建固定表,但加了TEMPORARY关键子后就不能创建临时表,为什么不能创建临时表?我的mysql版本是3.23.51-nt, root账号,后有人建议我说mysql 4.0.18肯定可以我就又换到mysql 4.0.18,但是还是不可以。 Cnn.Execute "create TEMPORARY table Temp(Station char(1)NOT NULL,Employee_ID varchar(10)NOT NULL,Name varchar(20),English_Name varchar(20));" 我在服务器端单独建临时表是可以的...
在MS SQL server中有下面的语句,使用了临时表操作 Select [typeid], [fullname] Into #TempAtype From atype Where [deleted]<>;1 Select [vchcode], [vchtype], [date], [redword], [total],[atypeid] Into #TempDlyAAtype From DlyA Where @szBeginDate<=[date] and @szEndDate>;=[date] and [atypeId] like @szAtypeId+'%' Select [vchcode], [number], [summary], [redold] Into #TempDlyNdxAtype From DlyNdx...
mysql> create table abc (id int); 光标一直在闪,也不返回错误很奇怪啊,就跟假死一样。 但是create databases 可以用,就是不能建表。 用source导入建表sql脚本也不行。 不知道是哪里有问题??
/usr/local/mysql/bin/mysql -uroot -p123456 -e "FLUSH TABLES WITH READ LOCK;" 这样写,不能锁表。 只能进入mysql>FLUSH TABLES WITH READ LOCK; 这样才能锁表. 我要写一个脚本做备份(直接拷贝数据库目录的)。 如何才能不进入mysql,锁表?谢谢。
mysql> select count(id) from post; +-----------+ | count(id) | +-----------+ | 18836 | +-----------+ 1 row in set (1.06 sec) 我的怎么慢得要死 innodb数据库 服务器配置 P4 3.0 1G 服务器基本上没有什么访问量 是innodb的问题 在select 前先运行 set autocommit=0 再select count() from t 速度是慢 转换成myisam速度马上提上去了 mysql> select count(*) f +----------+ | count(*) | +----------+ | 18836 | +-...