1.为所有的表创建索引

    ADD INDEX `QunNum_index` (`QunNum`);ADD INDEX `QQNum_index` (`QQNum`)  ;

2.创建存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `SearchByQQ`(IN `qq` int)
BEGINDECLARE i int;DECLARE tblname VARCHAR(10);    DECLARE sql_text VARCHAR(1000);DROP TABLE IF EXISTS `temp`;CREATE TABLE `temp`(QQNum int,nick varchar(100),QunNum int) ENGINE=MEMORY;SET i=1;WHILE i<1100 DOSET tblname=CONCAT('group',i);SET sql_text=concat('insert into `temp` select QQNum,nick,QunNum from ' , tblname , ' where QQNum=' , qq , ';');SET @sql_text=sql_text;PREPARE stmt FROM @sql_text;EXECUTE stmt;DEALLOCATE PREPARE stmt;SET i=i+1;END WHILE;SELECT * FROM `temp`;
END

3.编写PHP

赶时间,瞎写的。
<?php
set_time_limit(60);
?>
<!DOCTYPE html>
<html>
<head><title>QQGroup Search System v1.0</title><meta charset="UTF-8"><meta name="viewport" content="width=device-with,initial-scal=1"><link href="bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div style='width:75%;margin:0 auto;'>
<form class="form-inline" role="form" action="" method="get" style="margin-bottom:10px;"><div class="form-group"><input type="input" class="form-control" name="qun" id="qun" placeholder="请输入QQ群号码" value=""> <input name="sbmt" type="submit" class="btn btn-primary"></div>
</form>
<?phpif(intval($_GET['qun'])>100000){@mysql_connect("localhost", "root", "123456");@mysql_select_db("QQGroupInfo");mysql_query("set names utf8");$qun=intval($_GET['qun']);$sql="select * from QQGroupInfo.qunlist".CEIL($qun/1000000)." where QunNum=$qun";$rs=mysql_query($sql) or die(mysql_error());$r=mysql_fetch_assoc($rs);if($r){echo "<table class='table table-striped table-bordered'>";echo "<tr><td colspan='10'>QQ群号:{$r['QunNum']}<br>\r\n";echo "QQ名称:{$r['Title']}<br>\r\n";echo "QQ简介:{$r['QunText']}<br>\r\n";$sql="select * from QQGroupDetail.group".CEIL($qun/100000)." where QunNum=$qun";$rs=mysql_query($sql) or die(mysql_error());echo "群 人 数:".mysql_num_rows($rs);echo "</td></tr><tr>";while($r=mysql_fetch_assoc($rs)){$i++;echo "<td align='center'><a href='?qq={$r['QQNum']}'>{$r['QQNum']}</a><br>{$r['Nick']}</td>";if($i%10==0) echo "</tr>\r\n\t<tr>";}echo "\t</tr>\r\n</table>";}}elseif(intval($_GET['qq'])>10000){define('CLIENT_MULTI_RESULTS', 131072);//这两行是使用存储过程的关键地方@mysql_connect("localhost", "root", "123456",true,CLIENT_MULTI_RESULTS);@mysql_select_db("QQGroupDetail"); //数据库库名名mysql_query("set names utf8");$qq=intval($_GET['qq']);$rs=mysql_query("call SearchByQQ($qq);") or die(mysql_error());echo "<table class='table table-striped table-bordered table-hover'>";echo "<tr><td>QQ号码</td><td>昵称</td><td>群号码</td></tr>";while($r=mysql_fetch_assoc($rs)){echo "<tr><td>{$r['QQNum']}</td><td>{$r['nick']}</td><td><a href='?qun={$r['QunNum']}'>{$r['QunNum']}</a></td></tr>";}echo "</table>";}
?>
</div>
</body>
</html>

4.总结

在VPS上,在1100个表上查找QQ加入的QQ,大约需要20s,如果是SSD应该在几秒内。
尝试使用Sphinx全文索引,发现需要50多G……放弃了。
还有一种方法,空间换效率,提前把每个QQ号加入的群查出来放到一个表里。

按QQ查询QQ群数据库的方法相关推荐

  1. 17.sql server数据库使用规则、二八原则、数据库查询集群--数据库读写分离多种实现、数据库配置读写分离(by-朝夕)

    Database 课程目标 环境准备: 一.二八原则 二.数据库读写分离 好处: 绝大部分的企业内部应用,可能不需要上图那么庞大的架构,一台主数据库服务器和一台查询服务器通常能满足读写分离的要求.而且 ...

  2. Python操作泄露的QQ群数据库

    之前没有一点儿操作数据库的实际经验,python也没有实现过完整的程序.几乎是走一步搜一步,学到的倒也挺多,对数据库没有那么陌生了.遇到的最大问题却是编码问题-- ------------------ ...

  3. 利用苹果手机轻松查询QQ闪照可随时查看方法

    首先我们长按要查看的闪照 然后点击多选 然后选择下方的收藏按钮 点击收藏 然后在去QQ我的收藏中就可以查看照片 可以随时查看保存 方法必须要苹果手机才可以操作 利用苹果手机轻松查询QQ闪照可随时查看方 ...

  4. 赛效:在线查询QQ号价格评估的方法是什么

    QQ是非常经典的聊天工具,在很多时候我们上班也要登着QQ号,除了可以交流.传递资料. 登录体平台外,有时候还要用QQ邮箱进行接收验证码之类的操作.QQ用久了,难免会有一个想法,就是我们的QQ号究竟值多 ...

  5. 数据库(SQL Sever) QQ查询

    新建一个数据库 将已有的信息导入到数据库中 创建表 用户表 QQUser 基本信息表 关系表 对表进行约束 右键选择check约束 建立关系表 查询数据 查询QQ号码为88662753的用户的所有好友 ...

  6. qq秀源码 php,JavaScript_js实现仿QQ秀换装效果的方法,本文实例讲述了js实现仿QQ秀换 - phpStudy...

    js实现仿QQ秀换装效果的方法 本文实例讲述了js实现仿QQ秀换装效果的方法.分享给大家供大家参考.具体实现方法如下: 仿QQ秀换装效果 #cs img{cursor:hand} var obj=ev ...

  7. Python机器人-QQ机器人-查询QQ报价?来看看你的QQ值多少钱!

    QQ报价查看你的QQ值多少钱!价格仅供参考,具体还需要大家查看市场价格.本文只用于教程,大家可以自己做一个用来查看QQ价格,丰富自己QQ机器人的功能呢!什么?你不会QQ机器人? 那就看我上一篇论文呢! ...

  8. 全国计算机二级qq闪退,电脑上QQ闪退怎么回事?各个系统版本电脑QQ闪退现象的解决方法介绍...

    电脑QQ闪退怎么回事?无论你是什么版本的电脑系统,或多或少都会遇到QQ闪退的现象.遇到这种烦人的情况,我们该如何去解决它呢?对于电脑qq闪退怎么回事?如何解决呢?下面脚本之家小白就在本文为大家提供wi ...

  9. QQ 一键加群、扫二维码加群 - 腾讯官方API文档接入

    QQ 一键加群.扫二维码加群 - 腾讯官方API文档接入 QQ一键加群功能,腾讯API生成链接和二维码等等 获取地址:腾讯官方API文档接口 使用方法:引入对应的链接即可 这里有生成图片.二维码的功效 ...

最新文章

  1. python vars 的用法
  2. 开发日记-20190426 关键词 无限分级界面
  3. 获取某个view的高度或者宽度
  4. 年年岁岁花相似,岁岁年年竟相同
  5. 运行银联支付系统demo
  6. 万特电能表接线仿真系统 软件_【学习软件】嘘!此3款10万级专业解锁版神器全网已绝迹!(物理实验室)...
  7. 大容量导入和导出数据 -- 格式化文件生成
  8. 探讨 | SpringBoot + MyBatis 多数据源事物问题
  9. 对上一篇博客问题的回应
  10. deque iterator not dereferencable 问题
  11. windows7网购火车票全解析
  12. 比较两个时间的大小 举例:CompareDate(12:00,11:15)
  13. httpRuntime一使用
  14. angular.injector()
  15. 深入理解操作系统原理之操作系统概述
  16. 计算机进入启动死循环,Win10开机死循环重启解决方法
  17. 两个摄像头合成一路_监控系统中多路视频的合成方法
  18. 题目 1097: 蛇行矩阵 题解
  19. 带exp在线计算机计算器使用,电脑系统自带科学计算器使用方法
  20. oracle x kglob,x$kglob/x$kgltr 中library cache信息查看(结果同dump内容)

热门文章

  1. python写桌面软件如何实现自动升级
  2. Windows Mobile 6 模拟器上网设置
  3. 深度优先遍历算法-02最大岛屿问题
  4. 魔兽地图服务器修改,魔兽地图的修改怎样用魔兽地图修改编辑器修改和编辑地图,那里有 爱问知识人...
  5. 【搜集】AE滤镜大全
  6. c语言循环计算分式加减乘除混合运算,计算()_分式的加减乘除混合运算及分式的化简_中学题库-沪江中学学科网...
  7. 管理培训课程都包括哪些内容?管理者如何提高管理能力?
  8. java:简单的点单系统
  9. 使mac支持NTFS读写问题
  10. SpringBoot精藏(五)SpringBoot整合mybatis