CREATE PROCEDURE test_proc_multi_select()
BEGIN
select * from testproc
select * from testproc where id=1
END
java 中利用循环,即可获取结果集数据:
con = MConnection.getConn()
String sql = "{call test_proc_multi_select()}"
cs = con.prepareCall(sql)
boolean hadResults = cs.execute()
int i = 0
while (hadResults) {
System.out.println("result No:----" + (++i))
ResultSet rs = cs.getResultSet()
while (rs != null &&rs.next()) {
int id1 = rs.getInt(1)
String name1 = rs.getString(2)
System.out.println(id1 + ":" + name1)
}
hadResults = cs.getMoreResults()// 检查是否存在更多结果集
}
mysql 关于数据库查询后返回的结果集少使用一个函数:
$sql = "select * from aboutus where abid = '1'"
$result = mysql_query($sql)
echo mysql_error()//如果数据库语句有错,这里会输出
echo "<pre>"
while($re = mysql_fetch_array($result))
{
print_r($re)
}
我们通过 performance_schema 观察了 memory 引擎的内存分配,由此推算了内部临时表的内存占用情况。
MySQL 在其他元数据中,诸如 information_schema.INNODB_TEMP_TABLE_INFO 中,并不展示内部临时表的信息,如图:
另外值得注意的是:memory 引擎会多划分出不少空间,比如本例中我们的数据是 300025 行 * 4 字节 =~ 1.2M,而引擎分出了 4M 多的内存来进行存储。
因此如果进行估算时,需要将数据量乘以一个较大的系数,才能准确估算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)