社区
基础和管理
帖子详情
表里没数据,查询很慢
wswzwz
2010-01-09 11:06:11
有一张表,本来里面有一些数据有20多万,没删数据之前查询什么的都很迅速,很正常。但是删除数据,就是delete from tablename,这时表里没有数据了,怎么再select怎么明显速度很慢了呀?
...全文
223
12
打赏
收藏
表里没数据,查询很慢
有一张表,本来里面有一些数据有20多万,没删数据之前查询什么的都很迅速,很正常。但是删除数据,就是delete from tablename,这时表里没有数据了,怎么再select怎么明显速度很慢了呀?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guoliming365
2011-12-14
打赏
举报
回复
truncate table table_name; 会把整个表数据都删除的,如果只删除部分数据后,想把高水位降低要怎么办呢?
csbwolf10
2010-05-13
打赏
举报
回复
我也遇到这个问题,空表 select * from table 居然也要6秒钟。
关注中
wh62592855
2010-01-09
打赏
举报
回复
延迟块清除啊……
这个一言两语说不太清楚
http://blog.csdn.net/wh62592855/archive/2009/10/26/4730623.aspx
看看上面的文章吧
wh62592855
2010-01-09
打赏
举报
回复
就是说假设你表里有100M的数据
现在你虽然删除了70M数据 还剩30M
可是现在ORACLE在进行查询的时候仍然会查询100M的空间(其实其中有70M是空的)
这是因为高水位还在100M那个地方
你使用上面朋友说的那个命令
truncate table table_name;
试试
这个命令可以把高水位从100M降到30M的地方
这样在查询的时候只用扫描30M的空间
zjyplayboy
2010-01-09
打赏
举报
回复
删除表后做过表分析么?没有做过的话建议你做一下
tjuxl123
2010-01-09
打赏
举报
回复
用truncate table table_name 能删除高水位的
delete table table_name 虽然能删除记录 但是空间会被占用的 得用truncate table table_name 进行删除
wswzwz
2010-01-09
打赏
举报
回复
延迟块清除是什么啊,我刚又往表里插入了一些数据,再查询又快了,这是为什么啊
wswzwz
2010-01-09
打赏
举报
回复
我提交事务了,高水位什么意思啊
wh62592855
2010-01-09
打赏
举报
回复
呵呵 没准儿
duqiangcise
2010-01-09
打赏
举报
回复
truncate table table_name;
后再查询看看,时间怎么样。难道是传说中的高水位?
wh62592855
2010-01-09
打赏
举报
回复
可能是延迟块清除造成的
多select几次试试
小灰狼W
2010-01-09
打赏
举报
回复
commit下
再看看
面试官:通过Mysql
查询
的时候,为什么有时候即使
查询
一条
数据
也
很慢
呢?
导致
查询
慢的几个方面的原因,一是 MySQL
数据
库偶发性地需要flush
数据
,此时因为redo log空间的问题或者是buffer pool空间的问题导致
数据
库阻塞,进而导致
数据
库
查询
偶发性地变慢。二是锁机制导致的问题,如果上一个事务增加了排他锁而其他事务同时也加上了锁,那么就会导致阻塞,此时也会导致
数据
查询
变慢。可能是死锁了,然后又释放了!三是索引不合理或条件不合理。
mysql 1000万分页
查询
很慢
_分页
查询
千万级
数据
慢
mysql
查询
千万级
数据
越来越慢优化:1.分表:(固定某个表存多少数量的
数据
:例如:一张表存100w的
数据
量);2.优化sql和建立适合的索引(复合索引);3.使用redis缓存。(redis存一份ID.然后mysql存一份ID每次插入删除的时候同步即可。
查询
的时候只需要从redis里面找出适合的10个ID,然后到mysql里面
查询
出10条)记录即可);4.总数要单独处理:涉及到总数操作,专门维护...
oracle单表
数据
量不大,但是
查询
很慢
oracle单表
数据
量不大,但
查询
很慢
MySQL插入
数据
很慢
优化思路
MySQL插入
数据
很慢
优化思路解决方法与思路 解决方法与思路 插入
数据
量非常大的场景 加大mysql配置中的bulk_insert_buffer_size,这个参数默认为8M bulk_insert_buffer_size=100M 修改该条记录有助于千万级别
数据
批量插入。 如果只是单纯避免业务侧阻塞 改写所有insert语句为insert delayed 这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。 锁方面的排查 业务侧阻塞排查:
查询
是否是因为线程长期获取不
数据
的删除
很慢
,怎么办
工作中遇到这样一个问题,删除(delete)某张表的
数据
时,发现
很慢
。使用的
数据
库是oracle。差不多两分钟删除了10条。 分析了一下,主要是一下问题引起的。 1删除时有子
查询
2有索引 3外键约束 在不能truncate的情况下怎么删除比较快呢? 1优化
查询
条件 2每删除一定
数据
进行提交,commit。 3删除索引,把
数据
删除后重
基础和管理
17,382
社区成员
95,118
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章