Hi.
----- Original Message ----- 
From: "Hans-Peter Grimm" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, May 14, 2004 2:53 AM
Subject: Comments/questions on "High Performance MySQL"


>
> Hi,
>
> I just finished reading "High Performance MySQL". Congratulations to the
> authors, it's a great book and I enjoyed reading it. Would be great if
> someone now started to write "MySQL Internals" ;-)
>
> There are some items in the book I'd like to comment or ask questions
> about. I hope the list is a right place to do so.
>
>
> page 12/13:
> On p.12, the output of "SHOW PROCESSLIST" is shown. In the "Command"
> column, the value is "Query". However, table 1-1 on p.13 indicates that
> the "Command" column would display "Processlist" when the client is
> running "SHOW PROCESSLIST". With 4.0.17, I verified that the output is
> indeed "Query". Is it a MySQL or a documentation bug?

On my 4.0 and 4.1 installations, I get "Query"

>
>
> page 68:
> Quote: "[...], a NULL value may appear only once as a primary key."
> What's the meaning of this - all columns of a PRIMARY KEY in MySQL are
> forced to be NOT NULL, aren't they?

No, they can be NULL.  This is a new concept to me, but I actually hit a
case the other day where it seemed useful.  I posted this query for another
user who was trying to find all users without a computer:

select * from users left join computers on (users.user_id =
computers.user_id)
 where computers.user_id is NULL;

user_id was his PK, but in order for the WHERE clause to work properly, it
had to be null
(http://dev.mysql.com/doc/mysql/en/LEFT_JOIN_optimisation.html). I suppose
you could rebuild the table with a different (perhaps auto_increment) PK to
avoid this.  But to set up this test, I made it the PK and made it to allow
NULLs, so MySQL does allow you to do it.

>
>
> page 125:
> I'd like to know whether it's recommended to include
> "myisam_sort_buffer" in the computation of the minimum memory needed?
>
> In the my-medium.cnf configuration, for instance, myisam_sort_buffer is
> clearly the largest of all thread buffers (8M vs. 512K for the
> second-largest buffer). In my-(large|huge).cnf, it's even 64M.
>
> The MySQL manual on myisam_sort_buffer_size says: "The buffer that is
> allocated when sorting the index when doing a REPAIR or when creating
> indexes with CREATE INDEX or ALTER TABLE." To me, these seem rather rare
> operations that won't be performed by most of the clients. It makes a
> big difference, however, whether I use 9M or 1M per client in the
> computation of required memory (or even >64M per client with
> my-(large|huge).cnf). Do I miss something here?
>
>
> page 211:
> The username and hostname combination listing contains, in that order:
>      @%.example.com
> [EMAIL PROTECTED]
> Since the second user entry is more specific (the MySQL manual says an
> empty user is least specific), shouldn't these entries be sorted in the
> reverse order? Also, the text following the listing explains: "When jane
> connects from web.example.com, she'll receive the privileges granted to
> [EMAIL PROTECTED]". With a first-match rule, this makes sense only if
> [EMAIL PROTECTED] appears first.
>
>
> Thank you,
> Hans-Peter
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to