请问牛人以下我的数据库结构该怎么设计索引和查询方式?

问题描述

我有一个products表,还有一个categories表,一个product可能会属于多个category,所以这两个表之间是用joint table连起来的。 现在我有一个请求 SELECT `products`.* FROM `products` INNER JOIN `categories_products` ON `categories_products`.product_id = `products`.id INNER JOIN `categories` ON `categories`.id = `categories_products`.categories_id WHERE (product_state = 'onsale' AND featured = '1' AND categories_products.categories_id = '14') ORDER BY products.created_at DESC 这里用到的查询条件有: products表中的: product_state featured categories表中的有: categories_id 还要按照 products.created_at降序 请问这样的请求,我想要请求时间最少,应该怎么设计索引?我的SQL语句有哪些地方可以修改?谢谢! 另外我想加limit的,因为我只需要查询到的前15个,但是我同时还想知道符合条件的所有products的数量,请问这个怎么获取?

解决方案

products表的id和categories表的categories_id分别作为各自的主键;products表中的: product_state + featured作为一个索引 引用另外我想加limit的,因为我只需要查询到的前15个,但是我同时还想知道符合条件的所有products的数量,请问这个怎么获取?查询两次,一次limit,一次用count函数,好像没有直接的方法可以一下子获取

时间: 2024-07-28 22:51:24

请问牛人以下我的数据库结构该怎么设计索引和查询方式?的相关文章

请问各位牛人大侠,用离线浏览器抓取有网站限制多线程快速抓数据的网站该用那些软件

问题描述 本人工作需要,下在一个网站完整的镜象离线浏览,所以用离线浏览器teleportpro抓取一个网站,结果遇到了棘手问题,该抓取网站有限制多线程快速抓数据的设置,结果抓取了一堆请稍候......的页面,请问该用那些软件下,或者teleportpro遇到这种网站该如何设置?补充一点若我发错地方请牛人大侠跟贴告知一下这样的问题去那里问比较好,谢谢了.

不是技术牛人,如何拿到国内IT巨头的Offer(转)

      不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic-在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?       当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生.       你不需要拿NOI的奖,无需是开源社区名人,也用不着发过牛逼的SCI论文.(没错,笔者就是这样的技术屌丝)     

不是技术牛人,如何拿到国内IT巨头的Offer(1)

转自:http://developer.51cto.com/art/201404/436685.htm 不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?   当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生. 你不需要拿NOI的奖,无需是开源社区名

学生党如何从零开始,成为云计算牛人,步入IT大厂或成就个人事业?

这是一篇纯干货分享帖,不谈个人经验,只搬运牛人的技术"经验".那么,学生党如何从零开始,成为云计算牛人,步入IT大厂或成就个人事业呢? 一.如果你想在云计算领域深造: 第一步,你要深入的了解云计算是什么 云计算从入门到实践之视频课程 贴上此课程的前几章,也许你能更好的了解从何学起. 第一章 分布式调度系统 第二章 分布式存储系统 第三章 分布式数据库 第四章 大数据平台的集群管理 第五章 分布式计算 第六章 分布式系统应用架构 第七章 机器学习算法平台 第八章 虚拟化技术 第九章 分布

图标-WinCE6.0电池电量显示的不正确,求有经验的牛人指教

问题描述 WinCE6.0电池电量显示的不正确,求有经验的牛人指教 我用的WinCE6.0系统,现在电池显示这一块有一些问题,我在"控制面板"里看电池信息,在"电池"这个标签下显示剩余电量100%,在"方案"标签下显示"电池电源".可是为什么我的WinCE桌面右下角的电源信息图标是个"小插头",而不是一个小电池图标呢. 我的电池电量检测芯片是DS2782,电池驱动的PDD层我看了也没多大问题,就是这里有点不

MIT牛人解说数学体系

MIT牛人解说数学体系     在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进.   为什么要深入数学的世界 作 为计算机的学生,我没有任何企图要成为一个数学家.我学习数学的目的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些. 说起来,我在刚来这个学校的时候,并没有预料到我将会有一个深入数学的旅程.我的导师最初希望我去做的题目,是对appearance和motion建立 一个unified的model.这个题

oacle-请问两个数据库结构相同,如何通过dmp文件进行批量记录的追加,谢谢

问题描述 请问两个数据库结构相同,如何通过dmp文件进行批量记录的追加,谢谢 意思是: A B 两个数据库结构(结构对象都相同,相同的对象.表.过程等等...) 现在情况是: A数据库服务器 有 1月1号-----3月31号的业务数据 B数据库服务器 有 4月1号-----5月8号的业务数据 需求: 如何将 B数据库的业务数据导入追加到 A数据库? 要求不影响现有A数据库的正常使用,并可查B库的数据 请教大神了@,! 解决方案 方法1: 要求你熟悉oracle的表空间.用户权限.临时表等: 1:

求牛人指点怎么用jmeter做接口性能测试,重点是测并发量和接口反映速度

问题描述 求牛人指点怎么用jmeter做接口性能测试,重点是测并发量和接口反映速度 求牛人指点怎么用jmeter做接口性能测试,最近公司要把从界面.移动端的访问数据库的数据做成接口,需要做这些接口的性能测试.且提及用jmeter做,重点是测并发量和接口反映速度.小弟我都没用过jmeter,就百度了一下.能打开jmeter.bat,然后就是线程组.http请求.结果树.聚合报告.其他都不知道了.编程的话,C有基础.JAVA就只知道纯语法. 现在求牛人指点怎么用jmeter做接口性能测试. 解决方案

当一条记录拥有不确定个数个tag时,怎么设计数据库结构,又怎么通过tag来进行检索?

问题描述 当一条记录拥有不确定个数个tag时,怎么设计数据库结构,又怎么通过tag来进行检索? 1.就以知乎为例吧,一个问题可能有多个tag来进行标注,这些tag是用怎么的结构在数据库中存储的呢? 很多人说再整理出一张tags的表,和一张tags和id对应的表,有谁能够详细说明一下这个东西怎么设计? 2,当进行检索的时候,怎么能够快速高效地通过tag/tags来进行检索呢? 解决方案 假设你的主表叫topic,主键id tags表作为关联表,结构为id topicid tag,外键topicid