我有一个架构,我有一个主数据库MyMainDatabase
。然后我为每个新客户CustDb###
创建一个单独的数据库。在我的MainDatabase上,我有一张表来跟踪所有客户数据库CustomerDbTable
。用一个查询查询多个数据库
customers数据库有一个叫做Invoices的表。发票ID是一个GUID,因此重复的概率非常小。
所以这里是我的问题我必须经常看一个发票给它的id(GUID)。我不应采取何种方针:
创建一个表MyMainDatabase称那将有列IdOfInvoice,CustDatabaseName AllInvoices。每次我在客户数据库上创建发票时,我还会创建一个记录
MyMainDatabase
创建一个查询,可以在多个数据库中搜索发票。我有数据库的名称。 我会在每次我创建一个新的发票我一定要记得还创建它的MainDatabase
您是否认为您的数据库体系结构可能存在根本性缺陷? –
你可以像这样使用字段/表的名字... select databaseab1.1.namename.fieldname,database2.tablename.fieldname from database1.tablename join database2.tablename on database1.tablename.id = database2.tablename.id – kwelsan
基于这个问题我选择了使用这种方法http://stackoverflow.com/questions/18910519/pros-cons-using-multiple-databases-vs-using-single-database现在我可以在客户端使用WCF数据服务并拥有该客户端只对他的数据库进行查询。 –