灵魂腐蚀 发表于 2015-1-16 22:45:31

MYSQL教程之Access随机显现纪录(不反复)办理计划

无疑希望员工得到系统、有深度的培训,显然MySQL在这一点上还做得很不够。access|办理|随机|显现|反复看了良多人会商关于access随机取纪录的帖子,鄙人,写了一个随机显现纪录的办理办法,但愿人人斧正。数据库里有5笔记录,随机抽取4条。

code
--------------------------------------
<%-------------------------数据库毗连-----------------------SetobjConn=Server.CreateObject("ADODB.Connection")objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"&_"DataSource="&Server.MapPath("data.mdb")objConn.Open-------------------------数据库毗连------------------------------------------------检索数据-----------------------strSQL="SELECTid,DataColumnFROMDataTable"Sql语句,检索数据库SetobjRS=Server.CreateObject("ADODB.Recordset")创立纪录集objRS.OpenstrSQL,objConn,1,1实行检索Count=objRS.RecordCount失掉纪录总数Item=4显现纪录数-------------------------检索数据------------------------------------------------------------------------------------------------------redima(Item,2),t(Count)界说2数组,数组a用来贮存纪录,数组t用来删选纪录---------------------------------------初始数组数值,目标为了拔出数据今后和此值做对照foreachjintj=0next------------------------------------------------------------------------------随机抽取纪录号Randomizetimer初始化随机数天生器forj=1toItemk=int(rnd*Count+1)从总数内里随机取一笔记录dowhilet(k)0判别是不是纪录是不是已在数组中k=int(rnd*Item+1)loopt(k)=1第k笔记录被选中next--------------------------------------j=1:i=1界说下标--------------------------------------轮回拔取数据集objRS中的部分纪录寄存到数组中DoWhileNotobjRS.Eofift(j)=1thena(i,1)=objRS("id")纪录ida(i,2)=objRS("DataColumn")纪录内容i=i+1endifj=j+1objRS.MoveNextLoop-------------------------------------------------------------------------------------------------------------------------------------------------显现内容--------------------fori=1toItemResponse.write"序号"&a(i,1)&"<br>"Response.write"内容"&a(i,2)&"<p>"next----------------------------显现内容-----------------------------------------------开释资本objRs.ClosesetobjRs=nothingobjConn.ClosesetobjConn=nothing---------------------------%>

Data
idDataColumn--------------------------1a2b3c4d5e由于在MySQL中有如此众多的额外功能可选,诸如存储引擎等,你可以选择最适合你公司的一个,或者尝试选用多个引擎。MySQL开始非常小巧,但是可以随着公司的成长而不断地变强大。

admin 发表于 2015-1-19 22:51:03

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。

冷月葬花魂 发表于 2015-1-25 10:35:09

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

再见西城 发表于 2015-2-2 21:41:38

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

因胸联盟 发表于 2015-2-8 07:03:19

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

简单生活 发表于 2015-3-7 13:04:21

同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。

莫相离 发表于 2015-3-15 06:26:50

也可谈一下你是怎么优化存储过程的?

深爱那片海 发表于 2015-3-21 19:36:15

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
页: [1]
查看完整版本: MYSQL教程之Access随机显现纪录(不反复)办理计划