Не обязательно одно
Не обязательно одно.
Если в базе накладных чаще всего производится поиск по сумме с учетом диапазона дат, то логично создать индекс по этим двум полям: сумма и дата. Именно, создать один индекс по двум полям, а не два индекса по каждому полю!
alter table tbl_name add index i_name (field1, field2);
Поиск по уникальным индексам производится чуть быстрее, поэтому, если значение какого-то поля должно быть обязательно уникальным — не поленитесь отметить это в конструкции таблицы. MySQL отблагодарит вас скоростью своих ответов на ваши вопросы.
О синтаксисе создания индексов лучше всего написано тут: http://www.mysql.com/doc/A/L/ALTER_TABLE.html.
Прежде чем попрощаться, я бы хотел подсказать вам одну полезную директиву MySQL. Называется она explain.
Если вы поставите это слово перед любым запросом к базе данных, MySQL не станет выводить вам результат запроса, а покажет подробную информацию о том, какими средствами пришлось воспользоваться и сколько операций пришлось произвести, чтобы получить ответ на ваш запрос.
Это волшебное слово explain позволит оценить эффективность любого запроса и отрегулировать все индексы вашей базы.
Удачной индексации, и да прибудет с вами порядок!
До завтра.