之前是搞oracle,最近接触了mysql,有几个问题想咨询下大家。
我的mysql版本:
5.1.55-log
1.mysql中select语句后面的procedure子句的作用是什么?
[PROCEDURE procedure_name(argument_list)]2.存储过程的返回的结果集(1个select语句)能否通过select * from procedure_name这种形式来访问。
或者有没有变通的处理方式,比如在function里掉存储过程,然后select funtion_name这样。3.mysql表分区需要打一个补丁才能支持?(我们这边的运维人员说的)SHOW VARIABLES LIKE '%partition%';
have_partitioning NO能不能说下如何才能让mysql支持表分区4.我查了下mysql的文档 好像没看到索引类型里有位图索引,mysql的索引全是B树索引吧
我的mysql版本:
5.1.55-log
1.mysql中select语句后面的procedure子句的作用是什么?
[PROCEDURE procedure_name(argument_list)]2.存储过程的返回的结果集(1个select语句)能否通过select * from procedure_name这种形式来访问。
或者有没有变通的处理方式,比如在function里掉存储过程,然后select funtion_name这样。3.mysql表分区需要打一个补丁才能支持?(我们这边的运维人员说的)SHOW VARIABLES LIKE '%partition%';
have_partitioning NO能不能说下如何才能让mysql支持表分区4.我查了下mysql的文档 好像没看到索引类型里有位图索引,mysql的索引全是B树索引吧
解决方案 »
- 求一个MYSQL查询语句
- Update语句
- mysql 自定义函数能返回表吗?
- 请教相互对应有序的表设计问题
- Mysql数据库触发器的问题。
- 关于SQL语句
- :我用mysql连接mysql server时出现一个“host xxx.xxx.xxx.xx is not allowed to connec to this mysql server“,请问为什么??谢谢
- MySQL有没有 类似MSSQL的SQL Profiler跟踪功能
- union合并查询多次引用同一个表,求大神优化
- django数据库多表查询
- 【高难度的问题】mysql创建视图时能不能强制使用ALGORITHM = MERGE
- 多表连接查询如何查(一个真实的业务需求)
[PROCEDURE procedure_name(argument_list)]
这个是建存储过程的语法吧 create procedure sp_name()2.存储过程的返回的结果集(1个select语句)能否通过select * from procedure_name这种形式来访问。
或者有没有变通的处理方式,比如在function里掉存储过程,然后select funtion_name这样。
不能 只能call sp_name()3.mysql表分区需要打一个补丁才能支持?(我们这边的运维人员说的)
SHOW VARIABLES LIKE '%partition%';
have_partitioning NO能不能说下如何才能让mysql支持表分区不需要补丁 就是一个动态参数的事 set global have_partitioning=yes;
4.我查了下mysql的文档 好像没看到索引类型里有位图索引,mysql的索引全是B树索引吧
mysql没有位图索引 有B树和hash索引
看mysql的官方文档,select的语法
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[PARTITION partition_list]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
MYSQL官方文档中有介绍,有过ORACLE经验一定会经常查询ORACLE的在线文档吧。
通俗的讲,可以利用存储过程来对SELECT的结果集进行分析处理。
MYSQL中没有这种方法,变通的实现方法是在存储过程中将结果集写入临时表。
MYSQL没有位图索引。有BTREE, HASH ,RTREE 三种索引。
很少用这种方法 2.存储过程的返回的结果集(1个select语句)能否通过select * from procedure_name这种形式来访问。
或者有没有变通的处理方式,比如在function里掉存储过程,然后select funtion_name这样。
没有这种用法,只能将结果写入临时表中,再访问 3.mysql表分区需要打一个补丁才能支持?(我们这边的运维人员说的)
MYSQL什么版本?系统什么版本 能不能说下如何才能让mysql支持表分区 不需要补丁 就是一个动态参数的事 set global have_partitioning=yes;
4.我查了下mysql的文档 好像没看到索引类型里有位图索引,mysql的索引全是B树索引吧
mysql没有位图索引