php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.04.2007, 11:31  
Neuer Benutzer
 
Registriert seit: 10.04.2007
Beiträge: 10
Lindwyrm
Standard mySQL Engine MyISAM und INNODB

Huhu Zusammen,

für ein künftiges Projekt mit voraussichtlich vielen Abfragen möchte ich meine mySQL-Datenbank ein wenig optimieren. Ich habe gehört INNODB soll performanter als MyISAM sein und wollte mein System dafür konfigurieren.

Mein System: Debian etch64 - AMD64 3700+ - 1GB RAM

Nun wenn ich eine Tabelle mit meinem DB Designer von EMS oder phpMyAdmin anlege, dann kann ich allerdings nicht die INNODB-Engine auswählen.

Den letzten Abschnitt habe ich nach der mySQL-Doku konfiguriert und mysql neu gestartet. Die INNODB-Files ibdata1 und ibdata2 sowie die logs wurden angelegt.

Hier meine my.cf
Code:
[client]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8
port                  = 3306
socket                = /var/run/mysqld/mysqld.sock

[mysql]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8
no-auto-rehash

[mysqladmin]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8

[mysqlcheck]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8

[mysqldump]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8
max_allowed_packet    = 16M
quick

[mysqlimport]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8

[mysqlshow]
character-sets-dir    = /usr/share/mysql/charsets
default-character-set = utf8

[isamchk]
character-sets-dir    = /usr/share/mysql/charsets
key_buffer_size       = 256M
sort_buffer_size      = 256M
read_buffer_size      = 4M
write_buffer_size     = 4M

[myisamchk]
character-sets-dir    = /usr/share/mysql/charsets
key_buffer_size       = 256M
sort_buffer_size      = 256M
read_buffer_size      = 4M
write_buffer_size     = 4M

[myisampack]
character-sets-dir    = /usr/share/mysql/charsets

[mysqld_safe]
err-log               = /var/log/mysql/mysql.err
open-files-limit      = 4096

[mysqld]
character-sets-dir    = /usr/share/mysql/charsets
character-set-server  = utf8
default-character-set = utf8
user                  = mysql
port                  = 3306

# bind-address          = 127.0.0.1

socket                = /var/run/mysqld/mysqld.sock
pid-file              = /var/run/mysqld/mysqld.pid
log-error             = /var/log/mysql/mysqld.err
basedir               = /usr
datadir               = /var/lib/mysql
tmpdir                = /tmp
language              = /usr/share/mysql/german
log-bin               = mysql-bin
server-id             = 1
sync_binlog           = 1
binlog_cache_size     = 1M
max_binlog_size       = 10M
slave_compressed_protocol = 1
delay-key-write       = ALL

# skip-locking
# skip-networking
# skip-name-resolve
# skip-external-locking
# skip-show-database

safe-user-create      = 1
default_table_type    = MYISAM
transaction_isolation = REPEATABLE-READ
max_allowed_packet    = 16M
max_heap_table_size   = 64M
tmp_table_size        = 64M
key_buffer_size       = 384M
sort_buffer_size      = 8M
join_buffer_size      = 8M
read_buffer_size      = 8M
read_rnd_buffer_size  = 16M
bulk_insert_buffer_size = 32M
myisam_sort_buffer_size = 64M
myisam_max_sort_file_size = 1G
myisam_max_extra_sort_file_size = 1G
myisam_repair_threads = 1
thread_cache_size     = 8
table_cache           = 512
query_cache_type      = 1
query_cache_size      = 32M
query_cache_limit     = 2M
thread_concurrency    = 8
local-infile          = 0
long_query_time       = 3
log_slow_queries
log_long_format
myisam_recover

#skip-innodb


innodb_thread_concurrency = 8
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
innodb_data_home_dir = /var/lib/mysql
innodb_log_arch_dir = /var/lib/mysql
innodb_log_group_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 60

[mysqlhotcopy]
interactive-timeout
Lindwyrm ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.04.2007, 12:32  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich hab ja jetzt nicht wirklich viel Ahnung von Performance etc., aber ich denke eher es wird umgekehrt sein.

Bei InnoDB gibt es Fremdschlüssel-Beziehungen, Constraints etc - und das ganze muss ja auch geprüft werden, da klänge es für mich logischer wenn MyISAM schneller wäre...
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 13.04.2007, 13:15  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Lindwyrm,

was Agrajag schon vermutete, kann ich nur aus Erfahrung bestätigen: MyISAM ist um einiges langsamer. MyISAM hat nur den Nachteil, dass es eine maximale Tabellengröße und noch weitere Einschränkungen gegenüber InnoDB gibt. Wenn du ein Projekt hast, in dem die Tabellen nicht größer 1GB (max ist 2GB) werden, so gibt es keinen Grund auf InnoDB zu wechseln, es sei denn, du möchtest die Features (Foreign Key Constraint Checking) dediziert nutzen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 14.04.2007, 12:52  
Neuer Benutzer
 
Registriert seit: 10.04.2007
Beiträge: 10
Lindwyrm
Standard

Danke euch für die Info!

zudem kann man mit ALTER TABLE die Engine recht einfach umstellen, von daher werde ich mit MyISAM beginnen.
Lindwyrm ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Tipp zur Volltextsuche? InnoDB zu MyISAM? bicpi Datenbanken 0 21.09.2006 17:43
MySQL startet nicht mehr: InnoDB Hendrik007 Datenbanken 7 05.07.2006 11:21
Datenbanktyp InnoDB und MyISAM mausemy Datenbanken 4 15.02.2006 22:21
[Erledigt] Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13:49
[Erledigt] Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
[Erledigt] Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
PHP5 & MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql engine, mysql innodb, mysql auf innodb umstellen, mysql myisam, innodb mysql, mysql welche engine, mysqld user mysql start, welche mysql engine, myisam auf innodb umstellen, engine=myisam, mysql sort_buffer_size, innodb schneller als myisam, umstellung myisam innodb, mysql engine innodb myisam, innodb umstellen, innodb, myisam, mysql which engine, myisam schneller als innodb, innodb schneller

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.