Đó là ý kiến, kinh nghiệm cá nhân. Mong đợi
cao kiến từ mọi người. :D
+ Tạo ra chuỗi 7 ký tự random trong PHP thì lại phải query check trong => dung luôn hàm time() ấy, substr(time(), 3) => lấy 7 ký tự cuối, thời gian luôn trôi đi ko bao giờ có sự lặp lại cả nên bạn không cần phải kiểm tra đã có hay chưa -----Original Message----- From: phpvi...@googlegroups.com [mailto:phpvi...@googlegroups.com] On Behalf Of Hùng Nguy?n Sent: Tuesday, December 27, 2011 10:32 AM To: PHPVietnam Subject: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database Chào các bác, Chả là hiện tại em muốn tạo Unique ID cho sản phẩm trong database, mỗi UID này có chiều dài 7 ký tự. Em đang phân vân 1 chút trong việc tạo ra UID này như sau: + Column dạng char thì tốc độ truy vấn không bằng int + Dùng auto_increment thì không đảm bảo được chiều dài dữ liệu == 7 ký tự + Tạo ra chuỗi 7 ký tự random trong PHP thì lại phải query check trong db xem tồn tại hay chưa => có thể mất nhiều query check trong khi tạo ra được 1 UID + Dùng auto_increment thì lại lãng phí ID (với những ID bị xóa đi thì sẽ không dùng lại được) Bác nào đã giải quyết vấn đề này thì cho mình xin cao kiến với :)
--
NHoang
On Dec 27, 11:56 am, Nguyễn Thạc Hùng <aotu...@gmail.com> wrote:
> Ok,
> Nếu vậy thì mình sẽ chọn cách dùng AutoIncrement và tự động pad 0 vào đầu
> số để đảm bảo đủ 7 chars.
> Cám ơn mọi người :x
> ---
> 0 ============================== 0
> ||||||||||||||||||||| Nguyễn Thạc Hùng ||||||||||||||||||||||
> 0 ==============o0o============= 0
>
> gps <http://giamsatgps.vn> | hop
> den<http://giamsatgps.vn/thiet-bi-dinh-vi-gps/thiet-bi-giam-sat-hanh-trin...>
> |
> gps viet nam <http://giamsatgps.vn> | dinh vi
> gps<http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html> |
> thiet bi dinh vi gps <http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html>
> Mạng thông tin giải trí cho giới trẻ:http://xjtjn.net
> My Weblog:http://khanhnam.info
> Watch HD movie online:http://phimhay24h.net
>
> Vào 11:44 Ngày 27 tháng 12 năm 2011, Son Dat Giang
> <giangson...@gmail.com>đã viết:
>
>
>
>
>
>
>
> > Bạn dùng auto_increment, start = 1000000 là có 7 ký tự thôi à.
>
> > Nói chung là bạn đang tìm giải pháp .. đẹp mà theo mình là không cần thiết
> > ở đây. Việc bạn mất công check duplicate hầu như chả tốn kém gì.
>
> > Khi bạn đã đạt primary key, việc tìm kiếm trên 2^64 giá trị chỉ mất có 64
> > vòng lặp. Chả là gì so với các bài toán khác mà bạn phải đối mặt.
>
> > Tóm lại nếu bạn không thích AI vì sợ ... mất ID thì bạn có thể dùng giải
> > pháp randomize (nên lưu trữ binary - MySQL). Nhưng bạn thử nghĩ xem bạn sẽ
> > có thể mất bao nhiêu ID??? Số record xóa đi hầu hết cực nhỏ so với phần còn
> > lại.
>
> > End AI start = 1000000 là nice.
> > ---------------------------------
> > Best regards !
> > Giang Son Dat
> > Ho Chi Minh City, Vietnam
> > Mobile: +84 988114164
>
> > 2011/12/27 Nguyễn Thạc Hùng <aotu...@gmail.com>
>
> >> Cám ơn mọi người đã giúp đỡ,
> >> @VietNux: Mình cũng đã thử theo cách của bạn nhưng vẫn không đáp ứng
> >> chính xác (như bạn Đức Minh đã nói).
> >> @Giã Dương Đức Minh: Mình cũng đã tính đến cách như bạn đề cập nhưng ở
> >> đây mình muốn tận dụng hết các giá trị mà 7 ký tự đó tạo ra (7 ký tự bao
> >> gồm cả chữ lẫn số) nên cách của bạn vẫn bị hạn chế 1 chút.
>
> >> Còn ai có cao kiến nữa không ạ :D
> >> ---
> >> 0 ============================== 0
> >> ||||||||||||||||||||| Nguyễn Thạc Hùng ||||||||||||||||||||||
> >> 0 ==============o0o============= 0
>
> >> gps <http://giamsatgps.vn> | hop den<http://giamsatgps.vn/thiet-bi-dinh-vi-gps/thiet-bi-giam-sat-hanh-trin...> |
> >> gps viet nam <http://giamsatgps.vn> | dinh vi gps<http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html> |
> >> thiet bi dinh vi gps <http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html>
> >> Mạng thông tin giải trí cho giới trẻ:http://xjtjn.net
> >> My Weblog:http://khanhnam.info
> >> Watch HD movie online:http://phimhay24h.net
>
> >> Vào 10:55 Ngày 27 tháng 12 năm 2011, Giã Dương Đức Minh <
> >> giaduongducm...@gmail.com> đã viết:
> >>> ------------------------------
> >>> * Giã Dương Đức Minh *