“SELECT COUNT(*)” is slow, even with where clause

后端 未结 8 1625
抹茶落季
抹茶落季 2020-11-30 23:22

I\'m trying to figure out how to optimize a very slow query in MySQL (I didn\'t design this):

SELECT COUNT(*) FROM change_event me WHERE change_event_id >         


        
8条回答
  •  天命终不由人
    2020-12-01 00:07

    I would create a "counters" table and add "create row"/"delete row" triggers to the table you are counting. The triggers should increase/decrease count values on "counters" table on every insert/delete, so you won't need to compute them every time you need them.

    You can also accomplish this on the application side by caching the counters but this will involve clearing the "counter cache" on every insertion/deletion.

    For some reference take a look at this http://pure.rednoize.com/2007/04/03/mysql-performance-use-counter-tables/

提交回复
热议问题