
问题描述:
有两个数据库文件太大,分别超过12G 和 6G,快把分区挤满,无法进行数据备份和更新了,需要清一下表的内容。
一个数据库,有几十个表,不可能一个个地去count的,请问在查询分析器中,如何快速地找到数据量最大的几个表?
另外,如果我用truncate table命令,那么索引文件也会相应地缩小吗?
谢谢!
解析:
sql的每一个数据库中有一个名名为’sysobjects’的表,这个系统表中储存了当前数据库中所有对象(包括系统表,用户表、日志、存储过程)的信息,可以用这个表链获取数据库中表的数目和名称,之后向获得某个制定数据库的信息,可以使用带参数的 sp_helpbd过程
我想不管是什么db总是有相应的业务逻辑的,最大的那几个表,一定有她的特殊 的业务逻辑,从表名上应该能判断出来,一般存图片,歌曲或者其他资料的表象对比较大,但是存用户名 以及关联表 ,一般都不会太大,
关于数据库更新,如果是xp或者me 以上的系统看看先把系统还原暂时停止,这样可以节省出来一些空间,或者在挂一块硬盘看看
<?php//连接数据库
$myconn=mysql_connect("localhost","root","")
mysql_select_db("nowamagic",$myconn)
$strSql="
select article_ID
from article
where article_ID=(select max(article_ID)
from article)
"
$strSql2="
select article_ID
from article
where article_ID=(select min(article_ID)
from article)
"
$result=mysql_query($strSql,$myconn) or die(mysql_error())
$result2=mysql_query($strSql2,$myconn) or die(mysql_error())
$row_max=mysql_fetch_array($result)
$row_min=mysql_fetch_array($result2)
// 输出ID最大值
//echo $row_max["article_ID"]
//echo "
"
// 输出ID最小值
//echo $row_min["article_ID"]
$article_count = $row_max["article_ID"] - $row_min["article_ID"]
?>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)