11.11. ÐндекÑÑ Ð¸ пÑавила ÑоÑÑиÑовки
Ðдин Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ ÑолÑко одно пÑавило ÑоÑÑиÑовки Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑиÑÑемого ÑÑолбÑа. ÐоÑÑÐ¾Ð¼Ñ Ð¿Ñи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи пÑименÑÑÑ ÑазнÑе пÑавила ÑоÑÑиÑовки могÑÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð½ÐµÑколÑко индекÑов.
РаÑÑмоÑÑим ÑледÑÑÑие опеÑаÑоÑÑ:
CREATE TABLE test1c (
id integer,
content varchar COLLATE "x"
);
CREATE INDEX test1c_content_index ON test1c (content);ÐÑÐ¾Ñ Ð¸Ð½Ð´ÐµÐºÑ Ð°Ð²ÑомаÑиÑеÑки иÑполÑзÑÐµÑ Ð¿Ñавило ÑоÑÑиÑовки нижележаÑего ÑÑолбÑа. РзапÑÐ¾Ñ Ð²Ð¸Ð´Ð°
SELECT * FROM test1c WHERE content > конÑÑанÑа;ÑÐ¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ Ð¸Ð½Ð´ÐµÐºÑ, Ñак как пÑи ÑÑавнении по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÑÐ´ÐµÑ Ð´ÐµÐ¹ÑÑвоваÑÑ Ð¿Ñавило ÑоÑÑиÑовки ÑÑолбÑа. Ðднако ÑÑÐ¾Ñ Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ ÑÑкоÑиÑÑ Ð·Ð°Ð¿ÑоÑÑ Ñ ÐºÐ°ÐºÐ¸Ð¼-либо дÑÑгим пÑавилом ÑоÑÑиÑовки. ÐоÑÑомÑ, еÑли инÑеÑÐµÑ Ð¿ÑедÑÑавлÑÑÑ Ñакже и запÑоÑÑ Ð²Ñоде
SELECT * FROM test1c WHERE content > конÑÑанÑа COLLATE "y"; Ð´Ð»Ñ Ð½Ð¸Ñ
можно ÑоздаÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй индекÑ, поддеÑживаÑÑий пÑавило ÑоÑÑиÑовки "y", пÑимеÑно Ñак:
CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");