请问:
select * from table order by convert(column using gbk) asc
这条语句怎么提升性能,有一种方法就是用一个列来保存对应的首字母,但除了这种方式,有没有其它办法?

解决方案 »

  1.   

    你的列类型是什么? 为什么要convert(column using gbk) ?这样通过函数转换后,无法利用任何索引,导致全表扫描。
      

  2.   

    建立冗余字段,替换此字段为convert(column using gbk),在此字段上建立索引试试
      

  3.   


    这个列的数据类型是什么? show create table xxxx  看一下。 为何不直接 order by column ?
      

  4.   


    是varchar类型,保存是中文字符,我还是用另一列来做中文拼音的保存,这样可解决速度问题,就是代码多一些