你的DEPTNO 列没有倾斜~这样默认就是 等高直方图跟bucket没关系了
SQL> select * from newemp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 22 20
7499 ALLEN SALESMAN 7698 20-FEB-81 22 300 30
7521 WARD SALESMAN 7698 22-FEB-81 22 500 30
7566 JONES MANAGER 7839 02-APR-81 22 20
7654 MARTIN SALESMAN 7698 28-SEP-81 22 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 22 30
7782 CLARK MANAGER 7839 09-JUN-81 22 10
7788 SCOTT ANALYST 7566 19-APR-87 22 20
7839 KING PRESIDENT 17-NOV-81 22 10
7844 TURNER SALESMAN 7698 08-SEP-81 22 0 30
7876 ADAMS CLERK 7788 23-MAY-87 22 20
7900 JAMES CLERK 7698 03-DEC-81 22 30
7902 FORD ANALYST 7566 03-DEC-81 22 20
7934 MILLER CLERK 7782 23-JAN-82 22 10
14 rows selected.
SQL> exec dbms_stats.gather_table_stats(ownname=>'scott',tabname => 'newemp',estimate_percent => null,method_opt => 'for columns deptno size 10',cascade => true);
PL/SQL procedure successfully completed.
SQL> select column_name,density,num_buckets,histogram from user_tab_col_statistics where table_name='NEWEMP';
COLUMN_NAME DENSITY NUM_BUCKETS HISTOGRAM
------------------------------ ---------- ----------- ---------------
EMPNO .071428571 1 NONE
ENAME .071428571 1 NONE
JOB .2 1 NONE
MGR .166666667 1 NONE
HIREDATE .076923077 1 NONE
SAL .083333333 1 NONE
COMM .25 1 NONE
DEPTNO .035714286 3 FREQUENCY