liuzhedash
V2EX  ›  问与答

一个 Oracle 11g 上的 SELECT 语句,原来需要 1-2ms,现在需要 80-150ms 了

  •  
  •   liuzhedash · Sep 8, 2023 · 1243 views
    This topic created in 977 days ago, the information mentioned may be changed or developed.
    琢磨了一上午没找到问题,线索如下:

    1. SQL 本身很简单,where 条件就一个 id ,索引是加好了的

    SELECT * FROM DRIVER WHERE id = '身份证号码'

    explain plan 也看不出什么东西,已经是 index(unique scan)了,cost 都是个位数,也试了重建表统计

    EXEC DBMS_STATS.gather_table_stats('DRIVER')

    重建后几乎无变化

    2. Oracle 所在服务器基本是空载的,32core 的服务器 load average 基本不超过 1.0

    3. 这个 DRIVER 表会每 5 分钟和上游同步一次,大概几百条数据会删除然后重新插入

    目前在试着清空表,重新导入数据。

    请大家帮忙分析下,我还真是没招了。
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5825 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:36 · PVG 14:36 · LAX 23:36 · JFK 02:36
    ♥ Do have faith in what you're doing.