`
aa87963014
  • 浏览: 153988 次
  • 性别: Icon_minigender_1
  • 来自: 布尼塔尼亚
社区版块
存档分类
最新评论

freyja 可能会加入分库、分表功能

 
阅读更多

水平分库、分表一直都没去考虑。

如果要去实现那么大致的想法是表、库都和某个字段的值关联。

例如分库就根据userId去摸 1、2、3、4、5、6、7、8、9 个库。

并且建立1、2、3、4、5、6、7、8、9 个对应的数据源 datasource

在不请入原有的代码前提下,

 

select * from t_user where userid = 1;

 

那么根据userId = 1 得知这条sql会在db1的数据库中,那么分配datasource1 去执行查询

 

userid 则为关键字段,类似之前的Group,sql处理都会围绕这个字段来处理

 

分库的字段都必须有类似的这种字段。这样就差不多解决了分库问题。

如果没有这个字段,那么就需要多个库搜索了,然后汇总结果。

 

分表嘛还是一样。如:

select * from t_user where userId = 1

通过转换:知道userId = 1的记录存在与t_user1中。 那么最终会被转换成为select * from t_user1 where userId = 1

 

同理,如果是select * from t_user where name = '张三' 这种是肯定要把所有的表查找一遍的

 

0
1
分享到:
评论
5 楼 aa87963014 2012-05-09  
实际上,分页、排序这部分希望用户自己来处理 分页和排序 这样效率会更高一些
4 楼 aa87963014 2012-05-09  
sundysea 写道
aa87963014 写道
sundysea 写道
查找排序,分页,不是不能在数据端坐了?


分表分库只是根据规则帮你获得该sql应该去哪个数据库的哪个表执行,不会影响其他的问题

如果t_user 被封为t_user1,t_user2,t_user3

我现在要查询所有的user信息,并排序,分页。一个sql如何处理呢?


当然会被分成3条sql 执行得到结果然后合并成一个结果集,当然之后的结果 再次排序、分页是要在java里面做的
3 楼 sundysea 2012-05-09  
aa87963014 写道
sundysea 写道
查找排序,分页,不是不能在数据端坐了?


分表分库只是根据规则帮你获得该sql应该去哪个数据库的哪个表执行,不会影响其他的问题

如果t_user 被封为t_user1,t_user2,t_user3

我现在要查询所有的user信息,并排序,分页。一个sql如何处理呢?
2 楼 aa87963014 2012-05-04  
sundysea 写道
查找排序,分页,不是不能在数据端坐了?


分表分库只是根据规则帮你获得该sql应该去哪个数据库的哪个表执行,不会影响其他的问题
1 楼 sundysea 2012-05-04  
查找排序,分页,不是不能在数据端坐了?

相关推荐

    freyja最重要的一个功能完成

    标题 "freyja最重要的一个功能完成" 暗示我们正在讨论的是一个名为"Freyja"的项目或工具,它在IT领域可能具有显著的意义。Freyja,这个名字来源于北欧神话,是战神奥丁的妻子,象征智慧和预言,这可能意味着这个软件...

    freyja 功能基本完毕

    2. **自动化**:作为一个工具,Freyja可能包含自动化脚本编写和执行的功能,例如支持CI/CD(持续集成/持续部署)流程。 3. **测试框架**:Freyja可能具备测试功能,能够帮助开发者进行单元测试、集成测试或端到端...

    freyja 将引入另外一项功能大幅提高服务器性能

    标题 "freyja 将引入另外一项功能大幅提高服务器性能" 提到的是一个名为 "freyja" 的工具或项目,它即将推出的新特性旨在显著提升服务器的运行效率。根据描述中的 "博文链接",我们可以推断这是一篇在 iteye.com ...

    Freyja的查询缓存功能详解

    NULL 博文链接:https://freyja.iteye.com/blog/1278881

    freyja更新

    "Freyja更新"这个标题可能指的是一个名为Freyja的软件或工具的最新版本发布或者升级。Freyja,源自北欧神话中的战争与生育女神,通常在IT领域被用作项目名或软件名,尤其是那些涉及开发、分析或管理的工具。由于描述...

    freyja v2版本发布

    这可能意味着除了核心功能的改进外,还可能有扩展插件或API的更新,允许开发者根据需要扩展Freyja的功能。 对于开发者来说,Freyja v2的更新可能还包含了性能优化,比如更快的代码加载速度、更低的资源占用,以及更...

    freyja2多数据源版本

    博主可能会分享自己的使用经验,对Freyja2的功能进行实例演示,以帮助读者更好地理解和应用。 压缩包文件名为"freyja_test",这可能是Freyja2的一个测试版本或者示例数据集。用户可以通过这个测试环境来熟悉工具的...

    准备了个freyja实例项目(单数据源版)

    "工具"标签可能暗示了Freyja框架提供了一些辅助工具或库,帮助开发者更高效地开发和管理项目。这些工具可能包括数据库操作工具、日志记录、性能监控或其他开发中的实用功能。 压缩包内的“freyja_test”可能是指...

    freyja-sub-ocr-electron:用于 Freyja 字幕 OCR 提取器的 Nodejs + 电子用户界面

    所有功能都可用,但您在使用该应用程序时可能会遇到错误/崩溃。 请在 github 问题上报告您在log.log文件中遇到的任何错误。系统要求需要 8GB 内存。 强烈建议使用最新的 Nvidia GPU,否则该过程将非常缓慢。用法...

    freyja:将样式作为道具传递给组件

    功能齐全的功能CSS-in-JS解决方案,从改编而成,使其适合生产网站。 您提供一个接受组件props和应用程序theme的函数,并返回样式图( (theme, props, helpers) => ({key1: style, key2: style}) ), useStyles将...

    freyja:快速博客系统

    FREYJA freyja是一个轻量级的blog系统,使用vue-ssr,首屏在服务端渲染,之后的所有请求都由浏览器自行路由。 文章页只有文章内容在服务端渲染,评论是浏览器ajax加载的。 配合http2多路复用,首屏渲染完成时间可以...

    jre-超级精简普通版版

    此外,由于精简版可能移除了某些功能,因此在处理需要这些功能的复杂应用时可能会出现问题。在部署时,需要考虑性能、资源占用和功能完整性的平衡。 总结来说,"jre-超级精简普通版版"是一个面向轻量级需求的Java...

    matlab有些代码不运行-Freyja-Simulator:用于表示多直升机,控制器,附加对象(例如电缆)等的MATLAB/Simulink

    Freyja的库元素允许对连接多轴直升机和各种其他对象(例如电缆)的运动树进行动力学模拟和控制。 可以使用Simulink或SimScape中的内置块轻松配置其他常规对象,例如具有各种惯性属性的实体。 用法 为您的项目创建一...

    Freislenbator-crx插件

    然而,值得注意的是,由于它改变了网页的原始内容,可能会对某些依赖于特定图像的网页功能产生影响,因此在使用时需要权衡用户体验和功能性。 此外,用户隐私和数据安全也是使用任何浏览器扩展时必须考虑的问题。...

    自己搭的一个springmvc+hibernate+freemarker框架,参照疼讯的iweibo2

    NULL 博文链接:https://freyja.iteye.com/blog/1167392

    Magic-Reality:Magic Reality Mod Pack (Minecraft) 的官方 Github 页面

    魔幻现实Magic Reality Mod Pack (Minecraft) 的官方 Github 页面#Mods 模组作者版本苹果核Squeek502 1.1.0 水产养殖Shadowclaimer, Lclc98, Freyja, Rebelkeithy 1.2.5.8 护甲状态HUD 业务员1.28 背包埃达莫斯2.0.1...

Global site tag (gtag.js) - Google Analytics