  Conditional lower bounds based on $P\neq NP$, the Exponential-Time Hypothesis
(ETH), or similar complexity assumptions can provide very useful information
about what type of algorithms are likely to be possible. Ideally, such lower
bounds would be able to demonstrate that the best known algorithms are
essentially optimal and cannot be improved further. In this tutorial, we
overview different types of lower bounds, and see how they can be applied to
problems in database theory and constraint satisfaction.
