社区
基础编程
帖子详情
想听听大家的意见,关于查询
hleren
2004-08-06 08:17:38
id,姓名,email地址,第几组,第几名
上面是数据库内的字段,
现在想实现查询一个人属于第几组,的第几名,
普通查询记录少时还可以当记录多时就很慢,所以想请教一下,怎么来写这个查询会快些呢?
一个小组最多20个人,
第几组:可能会出现6-7万组
第几名:最多第二十名
谢谢!~
...全文
150
11
打赏
收藏
想听听大家的意见,关于查询
id,姓名,email地址,第几组,第几名 上面是数据库内的字段, 现在想实现查询一个人属于第几组,的第几名, 普通查询记录少时还可以当记录多时就很慢,所以想请教一下,怎么来写这个查询会快些呢? 一个小组最多20个人, 第几组:可能会出现6-7万组 第几名:最多第二十名 谢谢!~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzkd
2004-08-09
打赏
举报
回复
注!!!!
索引只需要建一次,可不是查询一次建一次索引:)
tod204
2004-08-09
打赏
举报
回复
你用的是什么数据库.
建立索引很简单呀.
直接在数据库的后台就可以实现
对相应的字段建立索引.
hleren
2004-08-09
打赏
举报
回复
?
hleren
2004-08-09
打赏
举报
回复
不太明白索引怎么建立,可以举个例子吗?
dout
2004-08-09
打赏
举报
回复
学习
okdw
2004-08-09
打赏
举报
回复
所有的MySQL列类型能被索引。在相关的列上的使用索引是改进SELECT操作性能的最好方法。
一个表最多可有16个索引。最大索引长度是256个字节,尽管这可以在编译MySQL时被改变。
对于CHAR和VARCHAR列,你可以索引列的前缀。这更快并且比索引整个列需要较少的磁盘空间。在CREATE TABLE语句中索引列前缀的语法看起来像这样:
KEY index_name (col_name(length))
下面的例子为name列的头10个字符创建一个索引:
mysql> CREATE TABLE test (
name CHAR(200) NOT NULL,
KEY index_name (name(10)));
对于BLOB和TEXT列,你必须索引列的前缀,你不能索引列的全部。
多列索引
MySQL能在多个列上创建索引。一个索引可以由最多15个列组成。(在CHAR和VARCHAR列上,你也可以使用列的前缀作为一个索引的部分)。
一个多重列索引可以认为是包含通过合并(concatenate)索引列值创建的值的一个排序数组。
当你为在一个WHERE子句索引的第一列指定已知的数量时,MySQL以这种方式使用多重列索引使得查询非常快速,即使你不为其他列指定值。
假定一张表使用下列说明创建:
mysql> CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name));
那么索引name是一个在last_name和first_name上的索引,这个索引将被用于在last_name或last_name和first_name的一个已知范围内指定值的查询,因此,name索引将使用在下列查询中:
mysql> SELECT * FROM test WHERE last_name="Widenius";
mysql> SELECT * FROM test WHERE last_name="Widenius"
AND first_name="Michael";
mysql> SELECT * FROM test WHERE last_name="Widenius"
AND (first_name="Michael" OR first_name="Monty");
mysql> SELECT * FROM test WHERE last_name="Widenius"
AND first_name >="M" AND first_name < "N";
然而,name索引将不用在下列询问中:
mysql> SELECT * FROM test WHERE first_name="Michael";
mysql> SELECT * FROM test WHERE last_name="Widenius"
OR first_name="Michael";
hleren
2004-08-07
打赏
举报
回复
其实是要加记录,在加记录前判断这个人是否已经存在,所以得先查询一下.
xuzuning
2004-08-07
打赏
举报
回复
插入时的查询需要在“姓名”上建索引
浏览时的查询需要在“第几组”上建索引
cuteyejun
2004-08-06
打赏
举报
回复
问题没有说清楚。
你的组要建索引!
ice_berg16
2004-08-06
打赏
举报
回复
查出来的只有一条记录吗?
zairwolfc
2004-08-06
打赏
举报
回复
大家都下班啦。我稍微留了一会,上来看看^_^
你直接select grouper,grade from tb where name='$name'不行么?
区域地震台网(2016-2021年)的数据和过去约60年(1963-2021年)可用的震源机制
区域地震台网(2016-2021年)的数据和过去约60年(1963-2021年)可用的震源机制
主动配电网故障恢复的重构与孤岛划分统一模型研究升级版本(Matlab代码实现)
主动配电网故障恢复的重构与孤岛划分统一模型研究【升级版本】(Matlab代码实现)内容概要:本文研究了主动配电网在发生故障后的恢复策略,提出了一种将网络重构与孤岛划分相结合的统一优化模型,并通过Matlab代码实现了该模型的仿真与验证。该升级版本进一步优化了算法效率与模型精度,能够有效提升配电网在故障情况下的供电恢复能力与运行可靠性,适用于含分布式电源的复杂配电网系统。研究涵盖了故障隔离、拓扑重构、孤岛划分及负荷恢复等多个关键环节,体现了较强的工程应用价值。; 适合人群:电气工程、电力系统自动化及相关专业的研究生、科研人员以及从事智能电网故障恢复技术研发的工程师。; 使用场景及目标:①用于科研学习与论文复现,特别是针对IEEE标准测试系统(如IEEE 33、69节点)开展配电网故障恢复研究;②为实际电力系统提供故障后快速恢复的算法支持,提升电网韧性与自愈能力;③作为Matlab仿真案例,辅助教学与项目开发。; 阅读建议:建议结合文中提供的Matlab代码与网盘资源,逐步调试运行,深入理解模型构建过程与优化算法实现细节,同时可参考团队其他相关研究以拓展应用场景。
多层次自动着陆发动机故障时的湍流不确定性.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
SCI复现基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)
【SCI复现】基于纳什博弈的多微网主体电热双层共享策略研究(Matlab代码实现)内容概要:本文研究基于纳什博弈理论的多微网主体电热双层共享策略,通过构建双层优化模型实现多微网系统间的电能与热能协同调度与资源共享。上层模型以各微网主体为独立参与者,基于纳什博弈框架优化自身利益,下层模型则考虑能源耦合关系与网络约束,实现系统整体能效优化。研究采用Matlab进行代码实现与仿真验证,复现了SCI级别研究成果,涵盖模型构建、博弈均衡求解、能量共享机制设计等关键环节,有效提升了多微网系统的经济性与能源利用效率。; 适合人群:具备一定电力系统、博弈论及优化算法基础,从事能源互联网、微电网调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于多微网系统中电热协同优化调度策略的设计与仿真;②支撑纳什博弈在能源共享场景中的建模与求解实践;③为综合能源系统中主体间利益协调与资源分配提供理论参考与代码实现范例; 阅读建议:建议结合Matlab代码深入理解双层模型的实现逻辑,重点关注博弈均衡的求解过程与收敛性分析,同时可拓展至其他多主体能源系统应用场景进行二次开发与验证。
基于人工智能与语音交互技术构建的跨平台多端外语学习应用TalkieAI_该项目是一个集成了先进AI对话模型实时语音识别与合成智能语法分析纠错多语言即时翻译以及个性化学习路径规.zip
基于人工智能与语音交互技术构建的跨平台多端外语学习应用TalkieAI_该项目是一个集成了先进AI对话模型实时语音识别与合成智能语法分析纠错多语言即时翻译以及个性化学习路径规.zip
基础编程
21,891
社区成员
140,342
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章