相关疑难解决方法(0)

如何在MySQL中为多对多连接正确索引链接表?

假设我在表"table1"和"table2"之间有一个简单的多对多表,它包含两个int字段:"table1-id"和"table2-id".我应该如何索引此链接表?

我曾经只创建一个复合主索引(table1-id,table2-id),但我读到如果更改查询中字段的顺序,则此索引可能不起作用.那么什么是最佳解决方案 - 为没有主索引的每个字段制作独立索引?

谢谢.

mysql indexing many-to-many

30
推荐指数
2
解决办法
1万
查看次数

如何在SQL Server数据库中设计用户/角色架构?

我想设计一个用户/角色系统:

用户有一个名称和密码,然后用户可以有几个角色,如Admin.

为此,我创建了一个这样的架构:

用户:

CREATE TABLE [dbo].[Users]
(
    [id] [int] NOT NULL,
    [name] [nvarchar](50) NULL,
    [password] [nvarchar](50) NULL,

    CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([id] ASC)
)
Run Code Online (Sandbox Code Playgroud)

角色:

CREATE TABLE [dbo].[Roles]
(
    [id] [int] NOT NULL,
    [name] [nvarchar](50) NULL,

    CONSTRAINT [PK_Roles] PRIMARY KEY CLUSTERED ([id] ASC)
)
Run Code Online (Sandbox Code Playgroud)

user_roles:

CREATE TABLE [dbo].[User_Roles]
(
    [id] [int] NOT NULL,
    [User_id] [int] NOT NULL,
    [Role_id] [int] NOT NULL,

    CONSTRAINT [PK_User_Roles] PRIMARY KEY CLUSTERED ([id] ASC)
)
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该使用外键吗? User_Roles.User_id -> User.Id

如果是,为什么?

sql-server

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

indexing ×1

many-to-many ×1

mysql ×1

sql-server ×1