![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 6.07.2007 Skąd: Wola Zabierzowska Ostrzeżenie: (0%) ![]() ![]() |
Witam
Kiedy próbuje pobrać dane z bazy dostaje komunikat Cytat PHP Fatal error: Uncaught exception 'mysqli_sql_exception' with message 'No index used in query/prepared statement SELECT * FROM cfg USE INDEX (test)' in /var/www/test.php:11 Stack trace: #0 /var/www/test.php(11): mysqli->query('SELECT * FROM c...') #1 {main} thrown in /var/www/test.php on line 11 Tabela:
Kod PHP:
Co robię źle? Z góry dzięki za pomoc, Pozdrawiam Kriszna |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Wymuszasz na MySQL użycie bzdurnego ineksu. Po co Ci on w tym zapytaniu? Po co Ci w ogóle te dwa indeksy, które dublują klucz podstawowy?
Ten post edytował Mchl 23.05.2010, 13:18:24 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 6.07.2007 Skąd: Wola Zabierzowska Ostrzeżenie: (0%) ![]() ![]() |
Te indeksy utworzyłem, bo myślałem, że to coś pomoże. Bez indexów jest to samo:
Cytat PHP Fatal error: Uncaught exception 'mysqli_sql_exception' with message 'No index used in query/prepared statement SELECT * FROM cfg' in /var/www/test.php:11
Stack trace: #0 /var/www/test.php(11): mysqli->query('SELECT * FROM c...') #1 {main} thrown in /var/www/test.php on line 11 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Ustaw mniej wrażliwy poziom raportowania błędów MySQL.
http://php.net/manual/en/function.mysqli-report.php |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 6.07.2007 Skąd: Wola Zabierzowska Ostrzeżenie: (0%) ![]() ![]() |
Tyle, że to nie rozwiązuje problemu, tylko go ukrywa, z tego co mi wiadomo...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Ale to nie jest komunikat o błędzie, tylko informacja.
Tego typu zapytanie nie może użyć indeksu, bo przecież pobierasz całą tabelę. W bardziej złożonym zapytaniu mogłoby to wskazywać na konieczność optymalizacji, tutaj po prostu tak musi być. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 6.07.2007 Skąd: Wola Zabierzowska Ostrzeżenie: (0%) ![]() ![]() |
Aha
Dzięki wielkie ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:31 |