1) Если я хочу выбрать по имени пользователя и дате начала запроса ..... будет ли он использовать индекс выше, ИЛИ мне нужно указать дополнительный индекс?
У вас сложное условие, скажем так:
username = 'blah-blah-blah' AND startdate > '01.01.2010'
Если PK вашей таблицы определен следующим образом:
PRIMARY KEY (Username, Title, StartDate)
Тогда индекс будет использоваться для первой части, включающей поле имени пользователя.Значения начальной даты будут оцениваться в естественном порядке.
Если вы хотите, чтобы индекс использовался для обеих частей сложного условия, либо создайте дополнительный индекс для начальной даты, либо измените порядок полей в PK:
PRIMARY KEY (Username, StartDate, Title)
2) Если заголовок и дата начала идентифицируются однозначно, но я также добавляю имя пользователя к первичному ключу, это сделает его суперключем?
Хорошей практикой является не злоупотреблятьуникальный индекс с дополнительными полями.В вашем случае создайте PK для заголовка и даты начала, а затем (если необходимо) создайте отдельный индекс для поля имени пользователя.