MySQL中每个客户端的新表?

Sha*_*aun 6 mysql full-text-search

通常我不会考虑这个,但我想知道这会有什么不利之处呢?

我目前的设置:

  • 每个客户最多有大约150 000行
  • 我正在对两列进行全文搜索
  • 另一列是客户的ID

随着表变大,搜索变得非常缓慢,尽管大多数情况下,每个搜索只需要在150 000行上执行.

在使用全文索引时,仅仅搜索客户端的行非常困难.

一种选择是创建第三个全文列,该列是客户ID的合成,加上在全文行中找不到的字符,并在全文搜索中包含第三列.啊.

为每个客户设置一个唯一的表,只是在他们的表上搜索是非常错的吗?我的测试中搜索速度非常快.一旦你开始需要多个MySQL服务器,这个公平会怎样?

Kev*_*ini 4

也许你应该看看这篇文章:

http://www.mysql.com/products/enterprise/partitioning.html
Run Code Online (Sandbox Code Playgroud)

还有这个:

http://dev.mysql.com/doc/refman/5.1/en/partitioning.html
Run Code Online (Sandbox Code Playgroud)

它的逻辑与“每个客户都有一张桌子”有点不同,但它应该适合您的需求。