After getting through the earlier chapters of this book, you're aware to a more or less painful degree that many optimizations are your responsibility. This last chapter has been a bit of good news: you have an ally. Until a few years ago, many DBMS optimizers were weak because they took only static information into account. Nowadays, optimizers are more useful because they also take dynamic data- related information into account. Perhaps soon the next phase will come, and optimizers will take user activity into account as well. Certainly, no optimizer can guarantee that the access plan it chooses will be perfect every time, but there's such a thing as progress.
We salute the DBMSs that we have been discussing for so long.