Опытный
Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane
Репутация: 20 Всего: 40
|
Это вот вывод crash-me для mysql 4.1. С тех пор надо полагать некоторые лимиты увеличились, но общую картину оценить можно и по этим данным. Конкретно по поводу Вашего запроса, максимальное число условий в where это видимо результат max_conditions, который 85660 . И как видите при превышении этого параметра база не падает, а просто возвращает ошибку. По поводу скорости, я не думаю что вы выиграете путем посылки N запросов вместо одного такого. Кстати, а как такое может быть, что aaa='b1' и одновременно aaa='b2' и т.д. Может должен быть OR вместо AND? Если OR, тогда проще сделать where aaa in ('b1','b2','b3',....'bn'); Цитата | max_big_expressions=10 # big expressions ###We are trying (example with N=5): ###select 0+(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+...(8168) ### 50:FAIL 10:OK 30:FAIL 14:FAIL 11:FAIL max_char_size=1048543 # max char() size ###We are trying (example with N=5): ###create table crash_q (q char(5)) ###insert into crash_q values ('aaaaa') ###select * from crash_q ### 524287:OK 786431:OK 917503:OK 983039:OK 1015807:OK 1032191:OK 1040383:OK 1044479:OK 1046527:OK 1047551:OK 1048063:OK 1048319:OK 1048447:OK 1048511:OK 1048543:OK 1048559:FAIL 1048546:FAIL 1048544:FAIL max_column_name=64 # column name length ###We are trying (example with N=5): ###create table crash_q (qaaaaa integer) ###insert into crash_q (qaaaaa) values(1) ###select qaaaaa from crash_q ### 256:FAIL 51:OK 153:FAIL 72:FAIL 55:OK 63:OK 67:FAIL 64:FAIL max_columns=2599 # Columns in table ###We are trying (example with N=5): ###create table crash_q (a integer ,a0 integer,a1 integer,a2 integer,a3 integer,a4 integer) ### 4096:FAIL 819:OK 2457:OK 3276:FAIL 2621:FAIL 2490:OK 2555:OK 2588:OK 2604:FAIL 2591:OK 2597:OK 2600:FAIL 2598:OK 2599:FAIL max_conditions=85660 # OR and AND in WHERE ###We are trying (example with N=5): ###select a from crash_me where a=1 and b='a' or a=0 and b='0' or a=1 and b='1' or a=2 and b='2' or a=3 and b='3' or a=4 and b='4' ### 27592:OK 41389:OK 48287:FAIL 42769:OK 45528:FAIL 43321:FAIL 42880:FAIL 42791:OK 42835:FAIL 42800:OK 42817:OK 42826:OK 42830:OK 42832:FAIL 42831:FAIL max_expressions=836 # simple expressions ###We are trying (example with N=5): ###select 1+1+1+1+1+1 ### 5000:FAIL 1000:FAIL 200:OK 600:OK 800:OK 900:FAIL 820:OK 860:FAIL 828:OK 844:FAIL 831:OK 837:FAIL 832:OK 834:OK 835:OK 836:OK max_index=32 # max index ### max_unique_index=32 ,so max_index must be same max_index_length=1000 # index length ###We are trying (example with N=5): ###create table crash_q (q0 char(5) not null,unique (q0)) ###insert into crash_q values('aaaaa') ### 4096:FAIL 819:OK 2457:FAIL 1147:FAIL 885:OK 1016:FAIL 911:OK 963:OK 989:OK 1002:FAIL 992:OK 997:OK 999:OK 1000:OK 1001:FAIL max_index_name=64 # index name length ###We are trying (example with N=5): ###create index crash_qaaaaa on crash_me (a) ### 256:FAIL 51:OK 153:FAIL 72:FAIL 55:OK 63:FAIL 57:OK 60:FAIL 58:FAIL max_index_part_length=255 # max index part length ###We are trying (example with N=5): ###create table crash_q (q char(5) not null,unique(q)) ###insert into crash_q (q) values ('aaaaa') ###select q from crash_q ### 524271:FAIL 104854:FAIL 20971:FAIL 4194:FAIL 839:FAIL 168:OK 503:FAIL 235:OK 369:FAIL 262:FAIL 241:OK 251:OK 256:FAIL 252:OK 254:OK 255:OK max_index_parts=16 # index parts ###We are trying (example with N=5): ###create table crash_q (q0 integer not null,q1 integer not null,q2 integer not null,q3 integer not null,q4 integer not nul...(1263) ###insert into crash_q (q0,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,q21,q22,q23,q24,q25,q26,q...(284) ###select q0 from crash_q ### 32:FAIL 7:OK 19:FAIL 10:OK 14:OK 16:FAIL 15:OK max_index_varchar_part_length=255 # index varchar part length ###We are trying (example with N=5): ###create table crash_q (q varchar(5) not null,unique(q)) ###insert into crash_q (q) values ('aaaaa') ###select q from crash_q ### 524271:FAIL 104854:FAIL 20971:FAIL 4194:FAIL 839:FAIL 168:OK 503:FAIL 235:OK 369:FAIL 262:FAIL 241:OK 251:OK 256:FAIL 252:OK 254:OK 255:OK max_row_length=65534 # max table row length (without blobs) ###We are trying (example with N=5): ###create table crash_q (q0 char(5) not null) ###insert into crash_q values ('aaaaa') ### 331372:FAIL 66275:FAIL 13255:OK 39765:OK 53020:OK 59647:OK 62961:OK 64618:OK 65446:OK 65860:FAIL 65529:OK 65694:FAIL 65562:FAIL 65536:FAIL 65531:OK 65533:OK 65534:OK 65535:FAIL max_row_length_with_null=65502 # table row length with nulls (without blobs) ###We are trying (example with N=5): ###create table crash_q (q0 char(5) ) ###insert into crash_q values ('aaaaa') ### 65534:FAIL 13107:OK 39320:OK 52427:OK 58980:OK 62257:OK 63895:OK 64714:OK 65124:OK 65329:OK 65431:OK 65482:OK 65508:FAIL 65487:OK 65497:OK 65502:OK 65505:FAIL 65503:FAIL max_select_alias_name=+512 # select alias name length ###We are trying (example with N=5): ###select b as aaaaa from crash_me max_stack_expression=836 # stacked expressions ###We are trying (example with N=5): ###select 1+(1+(1+(1+(1+(1))))) ### 1000:FAIL 200:OK 600:OK 800:OK 900:FAIL 820:OK 860:FAIL 828:OK 844:FAIL 831:OK 837:FAIL 832:OK 834:OK 835:OK 836:OK max_table_alias_name=+512 # table alias name length ###We are trying (example with N=5): ###select aaaaa.b from crash_me aaaaa max_table_name=64 # table name length ###We are trying (example with N=5): ###create table crash_qaaaaa (q integer) ###insert into crash_qaaaaa values(1) ###select * from crash_qaaaaa ### 256:FAIL 51:OK 153:FAIL 72:FAIL 55:OK 63:FAIL 57:OK 60:FAIL 58:FAIL max_text_size=1048543 # max text or blob size ###We are trying (example with N=5): ###create table crash_q (q mediumtext) ###insert into crash_q values ('aaaaa') ###select * from crash_q ### 524272:OK 786408:OK 917476:OK 983010:OK 1015777:OK 1032161:OK 1040353:OK 1044449:OK 1046497:OK 1047521:OK 1048033:OK 1048289:OK 1048417:OK 1048481:OK 1048513:OK 1048529:OK 1048537:OK 1048541:OK 1048543:OK 1048544:FAIL max_text_size=1048543 # max text or blob size ###We are trying (example with N=5): ###create table crash_q (q mediumtext) ###insert into crash_q values ('aaaaa') ###select * from crash_q ### 524272:OK 786408:OK 917476:OK 983010:OK 1015777:OK 1032161:OK 1040353:OK 1044449:OK 1046497:OK 1047521:OK 1048033:OK 1048289:OK 1048417:OK 1048481:OK 1048513:OK 1048529:OK 1048537:OK 1048541:OK 1048543:OK 1048544:FAIL max_unique_index=32 # unique indexes ###We are trying (example with N=5): ###create table crash_q (q integer,q1 integer not null,unique (q1),q2 integer not null,unique (q2),q3 integer not null,uniq...(72) ###insert into crash_q (q,q1,q2,q3,q4,q5) values (1,1,1,1,1,1) ###select q from crash_q ### 32:OK 48:FAIL 35:FAIL 33:FAIL max_varchar_size=1048543 # max varchar() size ###We are trying (example with N=5): ###create table crash_q (q varchar(5)) ###insert into crash_q values ('aaaaa') ###select * from crash_q ### 524287:OK 786431:OK 917503:OK 983039:OK 1015807:OK 1032191:OK 1040383:OK 1044479:OK 1046527:OK 1047551:OK 1048063:OK 1048319:OK 1048447:OK 1048511:OK 1048543:OK 1048559:FAIL 1048546:FAIL 1048544:FAIL
|
--------------------
Бонифаций.
|