Introducing operator classes
So far, the goal has been to figure out what to index and whether to indiscriminately apply an index to a column or a group of columns. There is one assumption, however, that we’ve silently accepted to make this work. Up until now, we’ve worked under the assumption that the order in which the data has to be sorted is a somewhat fixed constant. In reality, this assumption might not hold. Sure, numbers will always be in the same order, but other kinds of data will most likely not have a predefined, fixed sort order.
To prove my point, I’ve compiled a real-world example. Take a look at the following two records:
1118 09 08 78 2345 01 05 77
My question now is whether these two rows are ordered properly. They might be because one comes before another. However, this is wrong because these two rows have some hidden semantics. What you’re looking at here are two Austrian Social Security numbers. Here, 09 08 78
refers to August...