Preface
Next week, Tuesday, 17th of September, Iām speaking at the MariaDB Server Fest. My speech involves and heavily focuses on indexes within MariaDB. One of my primary goals with this speech is for attendees to understand how to harness the power of indexing.
My speech has a rather catchy title ā āMariaDB Indexes Revisited: Beyond the Documentation.ā Thatās because while the documentation of what indexes do in a variety of scenarios is helpful and lets users understand what indexes do and what makes them useful, sometimes it can also be rather confusing.
Addressing Pain Points
Have a glance through the page that lets you get started using indexes in MariaDB ā it wonāt be long until you notice that the page says the following:
- There are four main kinds of indexes in MariaDB. Primary keys, unique indexes, āvanillaā indexes, and full-text indexes that are suitable for conducting full-text search operations.
- MariaDB splits the essentials of indexing into a separate page. Doing so necessitates further searching and acquiring information on indexes as a whole.
- The section āwhen to remove an indexā could be more informative: MariaDB essentially says that indexes should be removed if theyāre rarely used or not used at all and doing so increases the performance of
INSERTandUPDATEqueries which is true, but thereās just so much more that can be said about when to remove a specific kind of index and why that should be done, right? - The essentials of an index page doesnāt mention things thatād be important. The page doesnāt mention that an index is a data structure that allows MariaDB to find rows. Thatās the concept of indexing to begin with! Strange, isnāt it?
I could go on, but I think you get the point. Documentation is important, but in this case, the MariaDB index documentation contains many things that are skipped, missed, or, frankly, things that could have been phrased better. Plain indexes are a good example of this: things can, and should, be phrased better for everyoneās sake.
Specific use cases require specific approaches to indexing as well ā wildcard searches may necessitate a FULLTEXT index (if theyāre on top of āregularā search methods, a FULLTEXT index may as well be an additional index on a vanilla B-tree index), and Iām not even talking about the fact that there are B-tree indexes with their subtypes and everything that they entail (i.e. covering, composite, clustered, descending, FULLTEXT, UNIQUE, HASH, and PRIMARY KEY indexes), and then there are R-tree, or spatial, indexes as well. Thus, saying that āthere are four main kinds of indexesā may not necessarily be right and Iāll dig into this in my talk.
Other MariaDB Things Attendees will Learn
Aside from indexing, I want attendees to learn a little about the internal functionality of queries like EXPLAIN and DESCRIBE within MariaDB, too: for those reading this blog the functionality of these queries may be as clear as day, but thatās not the case for many developers. Iāll go through the possible outputs of EXPLAIN queries when they relate to indexes, tell attendees what messages like Impossible where noticed after reading const tables in MariaDB mean and how to overcome them, and also walk them through ways to come up with an action plan that helps their database and applications become and keep being performant.
There will be takeaways related to indexing too, so donāt miss out!
The best part? My MariaDB indexing talk is only 20 minutes long. Itās a perfect way to spend your lunch break when eating or drinking coffee or play it as a podcast! Tune into MariaDB indexes on Tuesday by watching the playlist provided by the MariaDB Foundation on YouTube. Also, follow my blog where I may publish more updates related to the conference later on. See you on Tuesday 13:55 CEST time!
Load comments