Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails ActiveRecord Table Indexes - When should they be used?

I have heard over and over that you should add indexes to any foreign key you will be doing joins on. I have also heard you should have indexes for fields you will do queries on. Does anyone have a fairly exhaustive list or set of guidelines around when and when not to add indexes?

There must be a size of table where it is inefficient to have indexes. There must be a limit to the number of indexes per table, or why not add an index to every column?

Any resources you can suggest would be very helpful.

Thanks in advance!

like image 397
chrishomer Avatar asked Sep 12 '25 02:09

chrishomer


1 Answers

why not add an index to every column

Indexes speed up queries but can slow down inserts and updates. Finding the sweet spot will depend in part on whether your application is likely to do more queries (e.g. a library catalog) or more updates (e.g. an auditing application or log).

like image 145
Jacob Mattison Avatar answered Sep 14 '25 17:09

Jacob Mattison