`
graymood
  • 浏览: 7324 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用用户ID对数据库中表进行切分的疑问!

 
阅读更多
使用用户ID对数据库中表进行切分的疑问!

主数据库中存放所有用户ID和用户对应的数据库ID
每个用户对应的数据库中存放该用户的贴子信息,贴子分类信息等
问题:

  分页显示所有贴子并按发布时间排序该如何做? 因为用户的贴子都分布在多个数据库中,是不是要把分布在多个数据库中的贴子ID都取出来,然后在内存中对贴子进行排序?这样做我觉的效率会很差。大家有没有什么好的办法?
分享到:
评论
3 楼 graymood 2007-08-30  
Qieqie 写道
真要这样划分系统的话,那就应考虑:
在master数据库中,保存所有贴子的Id、发布时间、发贴人Id等简单信息。


嗯,谢谢提点!己经是这样做了。
2 楼 rtdb 2007-08-29  
> 使用用户ID对数据库中表进行切分
分页显示所有贴子 效率一定会很差的。

奇怪的切分方案。

按时间顺序切分才对啊。
1 楼 Qieqie 2007-08-29  
真要这样划分系统的话,那就应考虑:
在master数据库中,保存所有贴子的Id、发布时间、发贴人Id等简单信息。

相关推荐

    数据库表的垂直切分与水平切分

    水平切分(Horizontal Sharding),指的是将同一张表的数据按照某种规则(如ID取模等)分布到不同的数据库中。这种方式主要用于处理单个表数据量过大的情况,可以显著减轻单个数据库的负载。 **特点:** - **数据...

    数据库切分

    1. 水平切分(Sharding):在这种方法中,数据根据某个字段的值进行分割,比如用户ID。所有具有相同分割键的记录被分配到同一个分片。这样,每个分片存储的数据量相对较少,查询效率得以提升。 2. 垂直切分...

    WOW数据库对照表.rar

    本文将深入探讨“WOW数据库对照表”,解析其在游戏中的重要性和使用方式。 一、数据库概述 WOW数据库是游戏服务器的核心部分,存储了游戏中所有对象的信息,包括角色、物品、任务、地图等。数据库对照表则是为了...

    数据库Sharding的基本思想和切分策略

    水平切分是指按照表中的记录来划分数据,通常是基于某个键值(如用户ID)的哈希值进行分配。这种方式适用于那些表虽然数量不多但每张表数据量极大的情况。例如,对于一个拥有数亿用户的社交媒体平台而言,可以通过将...

    实验训练1 在MySQL中创建数据库和表.docx

    本篇文章将对MySQL数据库管理的基础知识进行详细讲解,从安装到管理,涵盖创建数据库、创建表、管理表结构、管理数据库等多方面的内容。 一、安装MySQL 在Windows平台下安装MySQL,需要下载MySQL的安装文件,按照...

    MYSQL 数据库水平切分的实现原理解析

    1. **范围切分(Range Sharding)**:根据数值范围将数据分配到不同的数据库或表中,如按用户ID的数值范围进行分库。 2. **哈希切分(Hash Sharding)**:利用哈希函数将数据映射到特定的数据库或表中,以实现均匀...

    discuz 论坛数据库表结构

    该表的设计理念是将用户的权限信息与论坛 id 相关联,以便更好地管理用户的权限。 cdb_adminactions 管理动作表 cdb_adminactions 表是管理动作表,用于存储管理员的操作记录。该表有多个字段,分别是 aid 管理员 ...

    单KEY业务,数据库水平切分架构实践

    当需要通过`login_name`查询用户信息时,首先从索引表中获取对应的`uid`,然后根据`uid`定位到具体的数据库实例。这种方法的主要不足在于增加了额外的数据库查询操作,可能导致性能下降。 2. **缓存映射法**:为了...

    C# .net数据库表实体类生成,一键生成数据库所有表的实体类

    在.NET开发环境中,Entity Framework(简称EF)是一个强大的对象关系映射(ORM)框架,它允许开发者使用C#或VB.NET等高级语言来操作数据库,而无需直接编写SQL语句。然而,在.NET Core中,虽然EF Core提供了模型构建...

    达梦数据库查询数据库所有表名-DM7达梦数据库常用的运维SQL语句 数据库运维.pdf

    在实际的数据库运维中,需要对数据库进行各种查询和维护操作。下面将从达梦数据库查询数据库所有表名、查看数据库版本号、查看表空间的名称及大小、查看表空间物理文件的名称及大小等多方面对达梦数据库的常用运维...

    谷粒商城数据库创建表sql

    本文将深入探讨“谷粒商城数据库创建表sql”这一主题,旨在理解如何利用SQL(Structured Query Language)来构建一个高效、稳定且功能完备的数据库。 首先,SQL是一种用于管理和处理关系数据库的标准语言,它允许...

    使用Java进行SQL数据库设计

    本文将深入探讨如何使用Java进行SQL数据库设计,涵盖相关概念、步骤和技术。 首先,我们需要了解数据库设计的基础。这包括关系型数据库模型的理解,如实体(Entities)、属性(Attributes)、键(Keys)以及关系...

    速达数据库表结构解析

    总的来说,理解和解析速达数据库表结构是一项基础但关键的任务,它直接影响到我们对速达软件的理解和使用效果。通过深入学习和实践,我们可以更好地驾驭这个系统,为企业运营提供更加精准和高效的数据支持。

    基于MyBatis的数据库切分框架,可实现数据的水平切分和垂直切分

    在垂直切分中,您可能将不同类型的数据表,如用户信息表、订单表等,存储到不同的数据库节点上。这样可以减轻单个数据库的压力,同时也方便了对不同业务的管理和维护。在实现时,您可能需要在 MyBatis 的配置文件中,定义...

    asp使用SQL语句的Delete命令删除数据库表中的一个记录[参照].pdf

    例如,如果我们要删除一个用户表中的一个记录,我们可以使用以下语句:`Delete From 用户表 Where 用户 ID = 1`。这将删除用户表中用户 ID 为 1 的记录。 Asp 代码 在 asp 中,我们可以使用 Connection 对象来连接...

    查询所有数据库-一个数据库中所有表和表的所有字段

    在SQL Server中,查询所有数据库、以及每个数据库中所有表和表的所有字段是数据库管理员或开发人员日常工作中常见的任务。这有助于了解数据库的结构和数据存储情况。以下是如何执行这些查询的详细步骤。 首先,我们...

    未能在 sysindexes 中找到数据库 ID 12 中对象 ID 1 的索引 ID 1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。

    在进行数据库操作的过程中,可能会遇到这样的错误信息:“未能在 `sysindexes` 中找到数据库 ID 12 中对象 ID 1 的索引 ID 1 对应的行。请对 `sysindexes` 运行 `DBCC CHECKTABLE`。” 这一错误通常出现在 SQL ...

Global site tag (gtag.js) - Google Analytics