会导致数据库并发性能下降的因素有?()

会导致数据库并发性能下降的因素有?()
A. 大量长事务持有锁
B. 表锁滥用
C. 合理使用行锁
D. 频繁出现死锁

1 个赞

正确答案是 A、B、D

详细解析:

  • :white_check_mark: 选项 A (大量长事务持有锁) 正确
    当存在长时间运行的事务时,它们持有的锁在较长时间内不会被释放。这会阻塞其他需要访问相同数据资源的并发事务,导致严重的排队等待现象,从而显著降低数据库的整体并发性能。

  • :white_check_mark: 选项 B (表锁滥用) 正确
    表锁是一种粒度非常粗的锁机制。如果在高并发场景下滥用表锁,会导致整个表被锁定,使得所有针对该表的并发读写操作都被迫串行化或阻塞,严重破坏并发能力。

  • :x: 选项 C (合理使用行锁) 错误
    行锁是粒度最细的锁机制之一。“合理使用”行锁可以最大程度地减少不同事务之间的冲突与相互等待,这是提升而非降低数据库并发性能的最佳实践。

  • :white_check_mark: 选项 D (频繁出现死锁) 正确
    死锁是指两个或多个事务互相等待对方释放资源而陷入僵局。虽然数据库系统有死锁检测与回滚机制,但频繁发生死锁会导致大量事务被强制回滚并重新执行,浪费宝贵的 CPU 和 I/O 资源,进而引发严重的并发性能下降。

ABD