创建序列,可以选择noorder(不按顺序,默认值)与order(按顺序)。
经过测试没看出二者的区别,想请教一下区别在哪里?
–noorder(不按顺序)
CREATE SEQUENCE seq1 START WITH 1 MINVALUE 1 MAXVALUE 10 INCREMENT BY 2 NOCYCLE NOORDER CACHE 30;
Query OK, 0 rows affected (0.074 sec)
obclient [test]> SELECT seq1.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 1 |
±--------+
1 row in set (0.022 sec)
obclient [test]> SELECT seq1.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 3 |
±--------+
1 row in set (0.023 sec)
obclient [test]> SELECT seq1.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 5 |
±--------+
1 row in set (0.009 sec)
obclient [test]> SELECT seq1.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 7 |
±--------+
1 row in set (0.004 sec)
obclient [test]> SELECT seq1.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 9 |
±--------+
1 row in set (0.007 sec)
obclient [test]> SELECT seq1.NEXTVAL FROM DUAL;
ERROR 4332 (HY000): sequence exceeds MAXVALUE and cannot be instantiated
–order按顺序
CREATE SEQUENCE seq2 START WITH 1 MINVALUE 1 MAXVALUE 10 INCREMENT BY 2 NOCYCLE ORDER CACHE 30;
Query OK, 0 rows affected (0.211 sec)
obclient [test]> SELECT seq2.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 1 |
±--------+
1 row in set (0.025 sec)
obclient [test]> SELECT seq2.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 3 |
±--------+
1 row in set (0.012 sec)
obclient [test]> SELECT seq2.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 5 |
±--------+
1 row in set (0.022 sec)
obclient [test]> SELECT seq2.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 7 |
±--------+
1 row in set (0.027 sec)
obclient [test]> SELECT seq2.NEXTVAL FROM DUAL;
±--------+
| NEXTVAL |
±--------+
| 9 |
±--------+
1 row in set (0.009 sec)
obclient [test]> SELECT seq2.NEXTVAL FROM DUAL;
ERROR 4332 (HY000): sequence exceeds MAXVALUE and cannot be instantiated