As I said - keep it simple.
There is no need for a "popup menu". There is a need for verifiable and repeatable performance benchmarks on which server method, on the server, is the fastest and the best on the server.
You add a popup menu and you miss the point. As you now add variable network performance to the mix. Client call overheads. Client parsing and rendering overheads. Etc.
You now need drastically increased the complexity of benchmarking the performance.
How is that relevant when you are evaluating which set of SQLs, and indexes and table structures, fit the requirements the best?
If you do go down that route, you need to a web server and its setup and configuration to your project. You need to add the setup and configuration of an application server to your project. You need to configure app server pools and JDBC connectivity to Oracle. And when you have all this working properly, how much time will you have left on doing the actual work of your project?
please you split this project into different task and say then only i can go ahead in this project........
now i don't know where to start.........
But we are not your project manager(s).
We are only advising that you break the task down into manageable pieces, and evaluate each part of it for performance in relation to what your goal is. Billy has provided some excellent advice on ensuring you keep things simple, because the more complexity you add, to harder it is to tell where any performance issues are, so adding network traffic and graphical interfaces to what you're doing is likely to have a more variable impact on performance and make it harder to determine how performant the actual algorithm is, especially when you want to compare it to your own algorithm.
Your tutor/project manager/mentor should be guiding you with your project, not a bunch of unknown people on the internet.
Your tutor may not know anything about this particular technical aspect (e.g. the algorithm you are researching), but (s)he should know how to guide you in respect of how you go about defining your project goals, and how to structure your project to demonstrate whatever it is you're trying to show.
In respect of algorithms or methods for autocompleting text as you type, there are no doubt many out there. Quite a few places use them, such as google when you type your search criteria, or Amazon when you are typing the product you want to find etc.
Surely though, you are trying to take the standard algorithm defined in that paper, and show how it works and how perfomant it is, and then propose your own solution to the same problem, demonstrating any benefits and improvement you have made, as well as recognizing any shortfalls in your method.
If you take the idea that you want to do something that hasn't been done before, then you're trying to be an inventor, and that is something that is closer to hard research carried out in advanced research studies at university or specialized companies, so unless that's where you're at, then just stick to focusing on your own project goal, even if there are other proprietary things out there that seem to already do it.
Thread moved to the ApEx forum and the O.P.'s duplicate post
is now locked.
That keeps all the content of what was discussed in an easy to find location.
Next time, just click "Report Abuse" on yourself and request the thread be moved.
Even though it isn't "abuse" you will be notifying the Community Moderator staff.
A moderator will examine the issue and may or may not comply with the request.
For example, this thread is now moved from the PL and PL/SQL Discussions forum space though you have yet to actually show that the Apex forum is a better location.
The tool that meets the goals you have set.
As you haven't defined your goals, how can anyone know what tool is appropriate. We have only speculated as to what your goals are.
If your goals are to demonstrate performance of an algorithm, then you should follow the advice given by Billy earlier, and use PL/SQL code directly to test the performance. He was correct when he said that if you start to implement a user interface to try and test performance then you are going to introduce unknown variables into the testing such as network traffic and client interface rendering times. Those things can be hard to measure and will detract from giving accurate results in terms of testing the algorithm performance. You are much better to use PL/SQL code to remove as many of the variable factors as possible, and treat it like a kind of unit testing exercise with different inputs.
If your goal is to demonstrate that you can implement a 'search as you type' algorithm in a user interface, regardless of whether it's performant or not, then you want a suitable interface, and Application Express (Apex) is as good as any.
Of course your goal could be both... that you have to demonstrate it works correctly from a user front end, but that you also need to test the performance of it through 'unit testing' the algorithm at the back end for comparible statistics against the original algorithm in the paper.
Part of your project (assuming this is like some university final year project) is to test and evaluate different things, once you've clearly defined the purpose and goals of your project. This is all things that your poject mentor should be guiding you with.
overall idea of my project is to implement search-as-you-type feature using sql for the data residing in database..........
i have planned
1. create an user interface application but i should prove that it is efficient than the existing one.......
2. creating an extension which support search-as-you-type in sql
2. would be the better approach, especially as you are indicating that you want to prove it's efficiency.
As we've mentioned already, to show the efficiency of the algorithm you implement (or the one you are comparing against) you want to eliminate any unnecessary factors that could have an adverse effect on the performance measures. That means you want to eliminate the obvious things that can vary greatly, like network traffic (depends what else is happening on the network), and interface rendering (depends what else is happening on the client computer) etc. So, reduce the risks of external impacts on the performance by reducing the tests down to the lowest level possible, which means if your algorithm is implemented in SQL then you want to try and measure the performance in SQL (using traces or suchlike) and if you're implementing it in PL/SQL, do likewise, maybe even breaking down your timings to individual aspects of the algorithm.
If you want to create an interface, then fine, but that shouldn't be necessary if the purpose of the project is to demonstrate the performance of algorithms.
You could certainly create an interface to provide the input to the tests as well as display the results, as long as you eliminate the interface itself from being included in the timings.
Or... you could, in addition, include timings of the performance including the interface, so show what proportion of delay in the workings of the method are caused by network and interface lag, and what proportion is the alogithm itself.
It all depends how much time you've got and what the goal is you're trying to show.
Most projects down come down to just a "show you can implement this"... most come down to a "show your implemention and how it compares to others, demonstrating and discussing the benefits and pitfalls of your own method"
but how to create an extension for sql... that too for autocomplete feature.....
at present i have only an idea/algorithm for searching similar prefixes........
It's up to you how you are going to implement that feature and how you're going to incorporate it with SQL. After all, we don't know your skill level or even what technical abilities you have or what course you're doing, for us to know how to pitch and answer for you.
You could do something as simple as creating your algorithm(s) as PL/SQL functions and use those functions directly in SQL queries for your performance testing.
You could get more technical and create your algorithm/function using a 3rd party language such as C or .NET etc. and then tie that in with the OCI (Oracle Call Interface) to access the data on the database. (Overview of Application Development Languages, Orientation to Oracle Programmatic Environments etc.)
You could even try and implement the algorithms directly in SQL itself.
I imagine part of the fundamental speed of your algorithm is going to come from how you structure the database tables, and how you index the data stored on them to provide the best access path. I haven't read that paper though, so don't know the algorithms myself and at the end of the day, this is your project, so it's up to you to look at what options are available and evaluate what approach you want to go down. Part of your project is, no doubt, to explain your reasoning for why you have taken a certain approach in favour of other approaches.