Database 搜索效率-比较10个整数或一个30字节的字符串,哪个更快?

Database 搜索效率-比较10个整数或一个30字节的字符串,哪个更快?,database,string,performance,hash,numbers,Database,String,Performance,Hash,Numbers,我要做一个情绪分析项目,用一个网站前端来使用它。它旨在分析推特帖子。分析后的文件将存入数据库 我将根据数据库中的搜索词对检索到的帖子进行分组 为了使数据库操作更快,我不想比较字符串中的搜索词,其思想是将搜索词转换为数字,并使用它们查找数据库中的条目 我想到的将字符串转换为数字的函数如下: a=067 b=068 ab=067068 abc=067068069 abcd=>i1=067068069和i2=070 这样,对于长度为30的字符串,我需要10个整数 因此,有两个问题: 1-是否有更

我要做一个情绪分析项目,用一个网站前端来使用它。它旨在分析推特帖子。分析后的文件将存入数据库

我将根据数据库中的搜索词对检索到的帖子进行分组

为了使数据库操作更快,我不想比较字符串中的搜索词,其思想是将搜索词转换为数字,并使用它们查找数据库中的条目

我想到的将字符串转换为数字的函数如下:

  • a=067
  • b=068
  • ab=067068
  • abc=067068069
  • abcd=>i1=067068069和i2=070
这样,对于长度为30的字符串,我需要10个整数

因此,有两个问题: 1-是否有更好的函数将30长度的字符串转换为数字,而不发生任何冲突

2-如果没有,在一个有一百万个搜索词的数据库中,比较每个项目10个整数更好,还是比较每个项目30个长度的字符串更好? 差不多

Select from terms where i1 == search.i1 and i2 = search.i2 and ... i10 == search.i10


感谢您的关注。

我的最佳猜测是:如果整个字符串是任意文本,最好将其作为字符串保留。数据库将在内部进行任何有用的优化,比如用单个操作比较前4或8个字节,特别是在固定宽度的字符串字段中。OTOH,如果search.i1只有几个不同的可能值,search.i2等只有几个不同的可能值,那么分别处理它们可能会帮助数据库索引更好地完成工作。我的最佳猜测是:如果整个字符串是任意文本,最好将其保留为字符串。数据库将在内部进行任何有用的优化,比如用单个操作比较前4或8个字节,特别是在固定宽度的字符串字段中。OTOH,如果search.i1只有几个不同的可能值,search.i2等有几个其他不同的可能值,那么分别处理它们可能有助于数据库索引更好地工作。
Select from terms where term like search.term