On Tue, Jan 10, 2017 at 09:25:05PM -0500, Bruce Momjian wrote: > Thank you for the summary. I think we have to consider two things with > indirect indexes: > > 1. What percentage speedup is the _average_ user going to get? You > have to consider people who will use indirect indexes who get no benefit > or a net slowdown, and users who will get a benefit. > > 2. What percentage of users are going to use indirect indexes? > > So, for #1 you might have users who are getting +1%, +50%, and -20%, so > maybe +10% average, and for #2 you might have 0.1%. When you multiply > them out, you get 0.01% average improvement per installation, which is > very small. Obviously, these are just wild guesses, but this is just to > make a point. If you assume WARM has been optimized, #1 gets even > lower.
Sorry to have to reply to my own email but I need some of the text above. Basically, with WARM, the adoption rate (#2) is 100%. I am asking what instructions we will give users for #1 to prevent people from using indirect indexes and getting worse performance. Are we going to say, "Use indirect indexes on columns that are updated frequently?" Actually, that seems pretty clear and would be easy for users to follow. I think the big question is that we will not know the benefits of indirect indexes over WARM until we have implemented WARM, and if the benefits of indirect indexes over WARM are small, and considering #2, we might decide that it isn't worth adding it, for the reasons I already outlined. Therefore, I think we need WARM done first, then we can test indirect indexes to see if they are a sufficient win to add it for the small percentage of users who will use it. In general, Postgres doesn't support ever possible performance tuning option, and I think we are better for that because Postgres is simpler to use. Going back to my blog post, if you add a feature, every user who is considering tuning Postgres has to understand the feature and decide if they should use it, so even for people who don't user the feature, there is a cost, however small. In summary, I love WARM, and might love indirect indexes too, but I need to feel that indirect indexes are a clear win for the added complexity, both in our code, and for the user API. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription + -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers