小编red*_*777的帖子

每个客户端一个数据库或一个数据库中的所有客户 我应该将哪一个用于在线申请?

所以我有这个应用程序,它有多个模块,从项目管理到会计模块.问题是我应该为每个客户(公司)建立一个数据库还是一个包含所有内容的数据库?

1)哪一个会更好的表现?
2)管理多个数据库要困难得多,或者这些数据库是否易于管理.
3)我们将为所有用户提供相同的应用程序,这意味着无论数据库的数量如何,都将使用相同的模式.
4)一些客户将会有很多(例如,会计师可能在一个表中每年增加200万行),而其他客户将使用更少的数据.

你觉得我应该怎么用?

mysql database-design multi-tenant

6
推荐指数
1
解决办法
4054
查看次数

进销存数据库设计

几天前我创建了一个处理发票的应用程序.我想知道如何最好地将折扣整合到我的发票中.我应该将其作为否定项目(在invoice_items表中)或者我应该在发票表中创建"折扣"列吗?

database database-design invoice discount

3
推荐指数
1
解决办法
1272
查看次数

使用tenant_id进行Mysql复合索引

我们有一个多租户应用程序,它有一个包含129个字段的表,可以在WHERE和ORDER BY子句中使用.我花了5天时间试图为我们找到最好的索引策略,我获得了很多知识,但我仍然有一些问题.

1)创建索引时,我应该总是首先使用tenant_id作为复合索引吗?(所有查询在WHERE子句中都有tenant_id =?)

2)由于所有列都可以在WHERE子句和order by子句中使用,我应该为它们创建一个索引吗?(正确的是,当我通过没有索引的列进行排序时,需要6s来执行具有大约1,500,000行的租户)

3)制作PK(tenant_id,ID),但这不会影响该表的连接吗?

任何关于如何处理这个的建议将非常感激.

======数据库引擎是InnoDB

=======

结构体 :

ID bigint(20) auto_increment primary
tenant_id int(11)
created_by int(11)
created_on Timestamp
updated_by int(11)
updated_on Timestamp
owner_id int(11)
first_name VARCHAR(60)
last_name VARCHAR(60)
.
.
.
(some 120 other columns that are all searchable)
Run Code Online (Sandbox Code Playgroud)

mysql indexing multi-tenant

3
推荐指数
1
解决办法
397
查看次数