Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:51 28.09.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема MySQL 4.0 released - Alphaнови  
Автор salle (Един такъв)
Публикувано16.10.01 11:38




Upgrading From Version 3.23 to Version 4.0

You can use your old data files without any modification with Version 4.0. If you want to move your data from a MySQL 4.0 server to an older server, you have to use mysqldump.

Old clients should work with a Version 4.0 server without any problems.

The following lists tell what you have to watch out for when upgrading to version 4.0;

* `safe_mysqld' is renamed to `mysqld_safe'.
* The old C API functions mysql_drop_db, mysql_create_db and mysql_connect are not supported anymore, unless one compiles MySQL with USE_OLD_FUNCTIONS. Instead of doing this, one should change the client to use the new 4.0 API.
* In the MYSQL_FIELD structure, length and max_length has changed from unsigned int to unsigned long. This should not cause any other problems than some warnings if you use these to printf() type function.
* You should use TRUNCATE TABLE when you want to delete all rows from a table and you don't care of how many rows where deleted. (Because TRUNCATE TABLE is faster than DELETE FROM table_name).
* You will get an error if you have an active LOCK TABLES or transaction when trying to execute TRUNCATE TABLE or DROP DATABASE.
* You should use integers to store values in BIGINT columns (instead of using strings as you did in MySQL 3.23). Using strings will still work, but using integers is more efficient.
* Format of SHOW OPEN TABLE has changed.
* Multithreaded clients should use mysql_thread_init() and mysql_thread_end(). See section 8.4.8 How to Make a Threaded Client.




Changes in release 4.0.0
------------------------

* Added documentation for `libmysqld', the embedded MySQL server
library. Also added example programs (a `mysql' client and
`mysqltest' test program) which use `libmysqld'.

* Removed all Gemini hooks from MySQL.

* Removed `my_thread_init()' and `my_thread_end()' from mysql_com.h,
and added `mysql_thread_init()' and `mysql_thread_end()' to
mysql.h.

* Secure connections (with SSL).

* Unsigned `BIGINT' constants now work. `MIN()' and `MAX()' now
handles signed and unsigned `BIGINT' numbers correctly.

* New character set `latin_de' which provides correct German sorting.

* `TRUNCATE TABLE' and `DELETE FROM table_name' are now separate
functions. One bonus is that `DELETE FROM table_name' now returns
the number of deleted rows.

* `DROP DATABASE' now executes a `DROP TABLE' on all tables in the
database, which fixes a problem with InnoDB tables.

* Added support for `UNION'.

* A new `HANDLER' interface to `MyISAM' tables.

* Added support for `INSERT' on `MERGE' tables. Patch from Benjamin
Pflugmann.

* Changed `WEEK(#,0)' to match the calender in the USA.

* `COUNT(DISTINCT)' is about 30% faster.

* Speed up all internal list handling.

* Speed up `IS NULL()' and some other internal primitives.

* Creating full text indexes are now much faster.

* Tree-like cache to speed up bulk inserts and
`myisam_bulk_insert_tree_size' variable.

* Searching on packed (`CHAR'/`VARCHAR') keys are now much faster.

* Optimized queries of type: `SELECT DISTINCT * from table_name
ORDER by key_part1 LIMIT #'

* `SHOW CREATE TABLE' now shows all table attributes.

* `ORDER BY ... DESC' can now use keys.

* `LOAD DATA FROM MASTER' "auto-magically" sets up a slave.

* Renamed `safe_mysqld' to `mysqld_safe'.

* Added support for symbolic links to `MyISAM' tables. Symlink
handling is now enabled by default for Windows.

* `LOAD DATA FROM MASTER' "auto-magically" sets up a slave.

* Added `SQL_CALC_FOUND_ROWS' and `FOUND_ROWS()'. This makes it
possible to know how many rows a query would have returned without
a `LIMIT' clause.

* Changed output format of `SHOW OPEN TABLES'.

* Allow `SELECT expression LIMIT ...'.

* Added `IDENTITY' as a synonym for `AUTO_INCREMENT' (like Sybase).

* Added `ORDER BY' syntax to `UPDATE' and `DELETE'.

* `SHOW INDEXES' is now a synonym for `SHOW INDEX'.

* Added `ALTER TABLE table_name DISABLE KEYS' and `ALTER TABLE
table_name ENABLE KEYS' commands.

* Allow one to use `IN' instead of `FROM' in `SHOW' commands.

* Allow ANSI SQL syntax `X'hexadecimal-number''

* Cleaned up global lock handling for `FLUSH TABLES WITH READ LOCK'

* Fixed problem with `DATETIME = constant' in `WHERE' optimization.

* Added options `--master-data' and `--no-autocommit' to `mysqldump'
(Thanks to Brian Aker for this).

* Added script `mysql_explain_log.sh' to distribution. (Thanks to
mobile.de).

Linux is like a wigwam - No Windows, No Gates, Apache inside

Тема probwal li si q?нови [re: salle]  
Автор AcidMemory (minimalist)
Публикувано16.10.01 14:55



... ako da, napishi nqkakyw komentar



Тема Re: probwal li si q?нови [re: AcidMemory]  
Автор salle (Един такъв)
Публикувано16.10.01 16:47



Днес го компилирах. Нека поработи няколко дена пък ще видим.

Определено някои неща са доста по бързи

select .... order by col limit x;
select .... order by col desc limit x;

се изпълняват за едно и също време.


Много неща мога да направя със тези добавки:
delete ... order by col limit x;
update ... order by col limit x;

Две странни compile опции:
--with-mysqlfs Include the corba-based MySQL file system
--with-vio Include the Virtual IO support

Никъде нищо не намерих.
--with-mysqlfs не работи. Може би е някаква идея а ла Oracle rawdevices ??

show open tables; - формата наистина е променен, но това което излиза при мен са много маймуни

mysql> select count(*) as c, count(distinct src_as) as s, count(distinct dst_as) as d from flow;
+---------+------+------+
| c | s | d |
+---------+------+------+
| 3756082 | 2890 | 2550 |
+---------+------+------+
1 row in set (48.31 sec)


3.23.43 това го изпълняваше за около 3 min.
В тази таблица имам около 100 insert/sec

FOUND_ROWS() все още не работи така както пише. също като в CVS версиите досега.

UNION и HANDLER ще ги пробвам утре

ALTER TABLE tbl DISABLE|ENABLE KEYS;

Работят при това фантастично бързо. - под секунда за толяма таблица в която непрекъснато се пише. Нищо общо със ALTER TABLE tbl DROP KEY, ADD KEY
За DISABLE е ясно, но съм впечатлен от ENABLE

След DISABLE KEYS обаче SELECT не работят - гърмят със Error: 124 = Wrong index given to function
Мисля, че е нормално.

При много INSERT нещата се очертават като:
1. Буфериране, комбиниране на много редове
т.е. insert ... values(), (), (), (); - това винаги е било по-бързо
2. alter table tbl disable keys
mysql_query(insert....
3. alter table tbl enable keys

Често ми се налага да използвам по няколко индеска в таблица освен primary та това ще даде голямо ускорение

и т.н.

Linux is like a wigwam - No Windows, No Gates, Apache inside


Тема Re: probwal li si q?нови [re: salle]  
Автор AcidMemory (minimalist)
Публикувано16.10.01 18:06



pishi posle pak (kato testwash), shtoto edwa li ste imam wreme da ia testwam i az

btw twa s mysqlfs e za mount-wane na mysql-a kato file system, ako naistina bachka ste e iako





Тема Re: probwal li si q?нови [re: AcidMemory]  
Автор salle (Един такъв)
Публикувано22.10.01 15:23



UNION
Работи общо взето както се очаква

Това, което доста ми хареса е, че няма проблем с @var - променливите

така, че следното работи чудесно:

select 'Old days', @b1:=sum(bytes) as bytes from tbl1 union select 'Today', @b2:=sum(bytes) from tbl2 union select 'Total', @b1+@b2;

Linux is like a wigwam - No Windows, No Gates, Apache inside


Тема Re: probwal li si q? [re: AcidMemory]  
Автор salle (Един такъв)
Публикувано22.10.01 19:25



Аха. Глупавият съм бил аз в случая. Който не чете.....

3.23.x
select count(*) FROM table WHERE ....;
за да се види общия брой.
select .... from table table WHERE .... LIMIT x,y


4.0
select SQL_CALC_FOUND_ROWS .... from table WHERE ... limit x,y;
select FOUND_ROWS(); - дава общия брой без LIMIT

т.е. FOUND_ROWS() работи само ако select е изпълнен с директива SQL_CALC_FOUND_ROWS

Linux is like a wigwam - No Windows, No Gates, Apache inside


Тема Re: MySQL 4.0 released - Alpha - Pitaneнови [re: salle]  
Автор Builder (JSP Builder)
Публикувано01.11.01 15:13



do kolkoto si spomniam niakade chetoh che se ochakva che ot v.4.0 da se poiaviat i "Foreign Keys", ima li veche neshto takova ?




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.