社区
基础和管理
帖子详情
表里没数据,查询很慢
wswzwz
2010-01-09 11:06:11
有一张表,本来里面有一些数据有20多万,没删数据之前查询什么的都很迅速,很正常。但是删除数据,就是delete from tablename,这时表里没有数据了,怎么再select怎么明显速度很慢了呀?
...全文
238
12
打赏
收藏
表里没数据,查询很慢
有一张表,本来里面有一些数据有20多万,没删数据之前查询什么的都很迅速,很正常。但是删除数据,就是delete from tablename,这时表里没有数据了,怎么再select怎么明显速度很慢了呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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.总数要单独处理:涉及到总数操作,专门维护...
数据
量很大,分页
查询
很慢
,怎么优化?
当需要从
数据
库
查询
的表有上万条记录的时候,一次性
查询
所有结果会变得
很慢
,特别是随着
数据
量的增加特别明显,这时需要使用分页
查询
。对于
数据
库分页
查询
,也有很多种方法和优化的点。 下面简单说一下我知道的一些方法。 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history 描述:某个业务的订单历史表 主要字段:unsign...
oracle单表
数据
量不大,但是
查询
很慢
oracle单表
数据
量不大,但
查询
很慢
MySQL插入
数据
很慢
优化思路
MySQL插入
数据
很慢
优化思路解决方法与思路 解决方法与思路 插入
数据
量非常大的场景 加大mysql配置中的bulk_insert_buffer_size,这个参数默认为8M bulk_insert_buffer_size=100M 修改该条记录有助于千万级别
数据
批量插入。 如果只是单纯避免业务侧阻塞 改写所有insert语句为insert delayed 这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。 锁方面的排查 业务侧阻塞排查:
查询
是否是因为线程长期获取不
基础和管理
17,380
社区成员
95,113
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章