数据库设计:索引Varchar

Dev*_*xon 3 mysql sql sql-server postgresql

我有一个表,其主键是一个整数,然后是一个用于按类型搜索的列,它是一个varchar.让我们说content_id和content_type.

SELECT * FROM TABLE_A WHERE content_type='abc'
Run Code Online (Sandbox Code Playgroud)

varchar content_type的长度为255.我正在考虑为更快的SELECT查询建立索引.这会改善性能吗?即使它的长度为255,如果只使用5个字符而不是整个255,这会对性能产生影响吗?

Pab*_*ruz 10

索引content_type应该使您的查询更快:

select * from table_a where content_type = 'whatever';
select * from table_a where content_type like 'whatever%';
Run Code Online (Sandbox Code Playgroud)

但它不会使您的查询更快:

select * from table_a where content_type like '%whatever%';
Run Code Online (Sandbox Code Playgroud)

如果您只使用255个可用字符中的5个,则无关紧要.