1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Database - SQL Querry - Where like ** - Uoc luong cong viec thuc hien phan mem

Chủ đề trong 'Hỏi đáp Tin học' bởi heartsniper, 10/11/2006.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. heartsniper

    heartsniper Thành viên mới

    Tham gia ngày:
    06/08/2004
    Bài viết:
    120
    Đã được thích:
    0
    Thân gửi các bạn,

    Mình có 2 câu hỏi, xin phép gửi đến các bạn và rất mong nhận được hồi âm

    1/ Database - SQL Querry
    Mình có 1 table như sau VB ( ID, Content ), trong ID: là khóa - double, Content dạng chuỗi - Max Lenght = 255.
    Mình có hơn 200.000 records ( đây là dữ liệu thật )

    Như vậy nếu mình thực hiện cây truy vấn
    Select *
    From VB
    Where VB.Content like "*abc"

    Vấn đề là với số lượng bản ghi lớn như vậy thì ngoài câu truy vấn ở trên thì còn có phương án tối ưu trong việc tìm kiếm không?


    2/ Uoc luong cong viec thuc hien phan mem (Software Estimation)
    Cho mình hỏi là mình thấy developers bên mình hay Ước lượng công việc thực phần mềm theo 4 tiêu chí sau (Phân tích, Thiết kế, Code và Test). Từng tiêu chí thì dựa vào chức năng yêu cầu phần mềm và kinh nghiệm mà đề ra là đó là cần bao nhiêu hours hay work - days.

    Câu hỏi mình đặt ra là liệu có cần ước lượng cả 4 tiêu chí không? Hay là chỉ cần ước lượng theo phân tích hoặc thiết kế, sau đó sẽ có 1 tỷ lệ "chuẩn" giữa Code và Test?

    Theo 1 tài liệu đề án 112 mình có thì 4 tiêu chí này có tỷ lệ là Phân tích (15.6%), Thiết kế (31.8%), Code (38.5%) và Test (7.3%), còn 1 tiêu chí là lập giải pháp khả thi (6.8%)

    Mong tin các bạn nhiều
    Thân,
  2. wings

    wings Thành viên rất tích cực

    Tham gia ngày:
    04/07/2002
    Bài viết:
    3.552
    Đã được thích:
    4
    Hi,
    1_) Có nhiều cách để tối ưu việc truy vấn này, nhưng nếu dùng câu SQL trên thì:
    _ Tạo indexed cho bảng VB của bạn thì việc truy vấn sẽ nhanh hơn.
    _ Thu nhỏ phạm vi tìm kiếm càng tốt thì càng nhanh.
    _ Nếu nhiều records như vậy thì bạn nên tìm và hiển thị 1 số lượng records nhỏ, phân trang cho nó. Ví dụ: chỉ select từ 1-10,10-20,20-30....và hiển thị nó như vậy thôi.
    _ Nếu bạn biết chắc là trước đó có bao nhiêu ký tự thì nên thay thế * bằng ? .
    _ Tối ưu nhất và nhất là NET cho phép thì bạn tạo trước 1 bảng Ảo (Dataset chẳng hạn), nhưng chỉ chứa 1 số lượng nào đó. Khi nào cần truy vấn thì sẽ truy vấn tiếp tục lấy database về đổ tiếp vào bảng ảo đó. Tất cả các thao tác sẽ trên bảng ảo đó. Nếu bạn quan tâm đến việc Thao Tác thì làm cách này.
    _ Bạn cũng có thể chia nhỏ các mẩu tin nhỏ lại, và chứa trên nhiều bảng khác nhau. Khi thực hiện truy vấn thì chỉ việc coi thứ tự thứ mấy mà tìm đến bảng thích hợp.
    Còn nhiều cách khác, còn tuỳ thuộc vào cách làm và yêu cầu của chương trình.
    2_) Cần phải ước lượng 4 tiêu chí đó khi làm 1 dự án nào đó. Đây là điều bắt buộc. Nhưng mỗi một tiêu chí còn tuỳ thuộc vào trình độ, khả năng, cách làm việc của 1 nhóm, 1 công ty.
    2 tiêu chí đầu : Phân tích, Thiết kế là khâu quan trọng nhất. Rồi mới đến Code, Test.Không có tỷ lệ chuẩn nào. 4 tiêu chí trên tuỳ thuộc vào độ quan trọng, thời gian và độ phức tạp của Đề Án đó.
    Đối với mình thì việc Phân Tích là quan trọng nhất, rồi đến Lập Giải Pháp, và Test. Còn lại phần Thiết Kế và Code là 2 phần nhẹ nhất nhưng lại mất thời gian nhiều nhất.
    Thân
    WINGS

Chia sẻ trang này